Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1912to1916
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
Inhaltsverzeichnis

VBA Tabellen zusammenfügen

VBA Tabellen zusammenfügen
10.01.2023 15:02:09
Susanne
Hallo an alle,
ich versuche gerade zwei variable Tabellen mittels vba Code zu vereinen. Ich habe mehrere Tabellen auf dem Sheet "Query Pzahlen 2022 A3.2" und möchte dort Tabelle 8 mit der Tabelle 4 vom Sheet "Query Pzahlen 2021 A3.2" auf einem neuen Tabellenblatt zusammenfügen. Der Tabellenaufbau ist identisch. Ziel ist Sheet "A3.2" in Zelle E7. Die 2. Tabelle soll dann unterhalb der ersten eingefügt werden. Ich habe mich in folgendem vba Code versucht und bin kläglich gescheitert:

Sub Tabellenblaetter_3_2_zusammenfügen()
Dim objList As ListObjects
Dim sh As Worksheet
'Daten kopieren und einfügen
sh("Query Pzahlen 2022 A3.2").Select
objList.ListObjects("Tabelle8").Copy
Sh("A3.2").Select
Range("E7").PasteSpecial
sh("Query Pzahlen 2021 A3.2").Select
objList.ListObjects("Tabelle4").Copy
master.Cells(Rows.Count).End(xlUp).Offset(1).PasteSpecial
End Sub
Hat jemand einen Tipp für mich - ich steige in vba erst langsam ein und freue mich daher über jede Hilfe. Ich bekomme den Fehler, dass die Objektvariable nicht festgelegt ist. Außerdem vermute ich, dass ich im 2. Teil bei master.cells noch sagen müsste, dass er in die Spalte E muss?
Danke vorab und lieben Gruß
Susanne

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Tabellen zusammenfügen
10.01.2023 15:19:36
Daniel
Hi
wenn, dann so,Variablen brauchst du hier nicht:

Sheets("Query Pzahlen 2022 A3.2").ListObjects("Tabelle8").Range.Copy
Sheets("A3.2").Range("E7").PasteSpecial
Sheets("Query Pzahlen 2021 A3.2").ListObjects("Tabelle4").DataBodyRange.Copy
Sheets("A3.2").Cells(Rows.Count, 5).End(xlUp).Offset(1, 0).PasteSpecial
der Unterschied zwischen "Range" und "DataBodyRange" ist, dass bei Range die Überschriftenzeile mit dabei ist und bei DataBodyRange nicht
und der Fehler, dass man das selbe Tabellenblatt auch immer gleich ansprechen sollte (Sheets("A3.2") vs master) darf auch einem Anfänger auffallen.
Gruß Daniel
Anzeige
AW: VBA Tabellen zusammenfügen
10.01.2023 15:39:13
Susanne
Hallo Daniel,
super, ganz lieben Dank für die Hilfe. Es funktioniert!
Gruß
Susanne
AW: VBA Tabellen zusammenfügen
10.01.2023 15:24:07
onur
Was soll denn bitteschön master sein?
Abgesehen davon: Für die erste Tabelle gibst du an, auif welches Blatt sie kopiert werden soll,. warum nicht auch für die Zweite?
AW: VBA Tabellen zusammenfügen
10.01.2023 15:40:49
Susanne
Hallo,
danke für den Hinweis. Das war auch laut Daniel einer meiner Fehler.
Gruß
Susanne
AW: VBA Tabellen zusammenfügen
10.01.2023 18:00:18
snb

Sub M_snb()
[Table1].Offset(-1).Resize([Table1].Rows.Count + 1).Copy Sheet2.Cells(1)
[Table2].Copy Sheet2.Cells(Rows.Count, 1).End(xlUp).Offset(1)
End Sub

AW: VBA Tabellen zusammenfügen
10.01.2023 18:39:09
ralf_b
der Fehler mit der Objektvariable ist doch noch nicht gelöst ,oder?
eine Objektvariable, also eine Variable, der du ein Objekt( Range, Sheet, usw.) zuweisen möchtest, wird mit der "set" Anweisung initialisiert.
also set sh = Worksheets("Query Pzahlen 2022 A3.2")
objList.ListObjects("Tabelle8") kann auch nicht funktionieren.
So einer Listobjectvariable mußt du auch erst noch einen Inhalt zuweisen.
set objList = sh.listobjects("Tabelle8") einen Inhalt bekommen. dann kannst du sie direkt so nutzen. objList.copy
Anzeige

76 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige