2 Tabellen in eine kopieren (Join)

Hallo, ich schon wieder :smile:

auf die Gefahr hin dass ich nach einigem rumprobieren wieder selbst drauf komme, stell ich die frage trotzdem wieder:

Versuche zwei Tabellen in einer zu joinen und hänge am ersten schritt fest. Der wäre, den inhalt der quelltabelle (variable anzahl an zeilen und spalten) in die zieltabelle (variable anzahl an zeilen und spalten) zu kopieren. dies soll so passieren, dass die daten aus der quelltabelle rechts unter den inhalt der zieltabelle kopiert werden sollen (später gleiche ich dann die inhalte anhand eines schlüssels ab und bereinige doppelte inhalte, behalte aber auch die nicht aufeinander passenden inhalte beider tabellen; wenn ich mich richtig an datenmanagement erinnere ist das ein inner und outer join)

folgenden code hab ich soweit, bekomm aber immer nen anwendungs/objektfehler:

srcTable = Quelltabellenname (wird aus einem Variant-Array übergeben) die kopiert wird
tarTable = Zieltabellenname (wird aus einem Variant-Array übergeben)in die kopiert wird

die Methoden MaxRows(tableName) und MaxCols(tableName) liefern die maximale Zeilen bzw Spaltenzahl des übergebenen Sheets als Integer

Sub MergeTables(srcTable, tarTable)

Dim i As Integer
Dim srcMaxRows As Integer
Dim srcMaxCols As Integer
Dim tarMaxRows As Integer
Dim tarMaxCols As Integer

srcMaxRows = MaxRows(srcTable)
srcMaxCols = MaxCols(srcTable)
tarMaxRows = MaxRows(tarTable)
tarMaxCols = MaxCols(tarTable)

For i = 1 To srcMaxCols

Sheets(srcTable).Range(Cells(1, i), Cells(srcMaxRows, i)).Copy Destination:=Sheets(tarTable).Range(Cells(tarMaxRows + 1, tarMaxCols + i), Cells(tarMaxRows + srcMaxRows, tarMaxCols + i))

Next

End Sub

vielen Dank im Voraus für eure hilfe!!!

Greetz

Hallo Mole,

starte mal die Prozedur so:

Sub test()
Call MergeTables(„Tabelle1“, „Tabelle2“) 'Blattnamen anpassen
End Sub

Sub MergeTables(srcTable, tarTable)
'…
'…
'…
End Sub

Grundsätzlich Fehler angeben und die Zeile wo er auftritt.
Überprüfe welchen Wert im Fehlermoment bestimmte Variablen haben.

Wenn du nicht klar kommst.
Nimm eine Kopie deiner Mappe, schmeiß bei langen Listen viele datenzeilen raus, so 10, 20 reichen. Wichtig ist da0ß die Spaltenstruktur erhalten bleibt.
Nicht benötigte Blätter können auch weg.

Lade das hoch mit http://www.uploadagent.de/ o.ä., s. FAQ:2606

Gruß
Reinhard