Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
260to264
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
260to264
260to264
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabellen vereinigen: VB, Union

Tabellen vereinigen: VB, Union
26.05.2003 21:12:25
Roger
Hallo zusammen,
ich will eigentlich nur alle Zeilen aus zwei Tabellen zusammenfügen und das ganze in eine dritte Tabbelle einfügen.
Wie kann ich mit VB nur die ausgefüllten Zeilen auswählen, dann zusammefügen?
Ich habe mir das ganze etwa so gedacht:

Dim r1 As Range, r2 As Range, myMultiAreaRange As Range
Worksheets("sheet1").Activate
Set r1 = Range("A1:T30")
Worksheets("sheet2").Activate
Set r2 = Range("A1:T30")
Set myMultiAreaRange = Union(r1, r2)

Nur leider erscheint der Fehler:
Laufzeitfehler '1004'
Die Methode 'Union' für das Objekt '_Global' ist fehlgeschlagen

Wenn ich jedoch Application vor Union schreibe funktionierts auch nicht.

Kann mir da jemand behilflich sein?
Ich danke im voraus..
M.f.G Roger




3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Tabellen vereinigen: VB, Union
26.05.2003 21:26:26
Klaus Schubert

Ich glaube, das der Union-Befehl nur innerhalb eines Tabellenblattes funktioniert.

Dein benötigter Code könnte als Ansatz aber in etwa so aussehen:

Gruß Klaus

Re: Tabellen vereinigen: VB, Union
28.05.2003 19:42:56
Roger

Danke für die Antwort, ich habe jedoch immer noch das Problem das die Anzahl der Spalten Dynamisch sein soll. Ich könnte mir vorstellen, dass ich jegliche Zeilen durchlaufen muss und auf leeren Inhalt testen...
Ich hoffe ich finde es noch raus, bin aber für tipps dankbar.
MfG Roger

Meine Lösung
28.05.2003 22:03:50
Roger

Es funktioniert nun, vieleicht interessiert es jemand.
Den Code könnte man sicher noch optimieren...


Sub Union()

Dim rng1 As Range
Dim rng2 As Range
Dim rng3 As Range

Dim rowCount As Integer
Dim colCount As Integer
Dim maxCol As Integer

maxCol = 20
rowCount1 = 2
rowCount2 = 2
colCount = 1

Do While Sheets("VAB").Cells(rowCount1, colCount).Value <> ""
rowCount1 = rowCount1 + 1
Loop
rowCount1 = rowCount1 - 1

Worksheets("VAB").Activate
Set rng1 = Range(Cells(2, 1), Cells(rowCount1, maxCol))
Worksheets("Total").Activate
rng1.Copy Range(Cells(2, 1), Cells(rowCount1, maxCol))

Worksheets("AM").Activate
Do While Sheets("AM").Cells(rowCount2, colCount).Value <> ""
rowCount2 = rowCount2 + 1
Loop
rowCount2 = rowCount2 - 1

Set rng2 = Range(Cells(2, 1), Cells(rowCount2, maxCol))
Worksheets("Total").Activate
rng2.Copy Sheets("Total").Range(Cells(rowCount1 + 1, 1), Cells(rowCount2 + rowCount1 - 1, maxCol))

End Sub



Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige