ich habe schon einige Themen durchforstet, habe aber Probleme herauszufinden, wieso das VBA Makro unten nicht richtig läuft.
Aufgabe war:
Aus mehreren Excel-Tabellen sollen Daten in eine Masterliste kopiert werden.
Dazu habe ich folgendes Makro, was aber nichts ausgibt. Es läuft also anscheinend durch ohne etwas zu schreiben. Eine Fehlermeldung gibt es nicht.
Zum Ausprobieren habe ich erst mal nur zwei der eigentlich sechs Tabellen verbaut.
Habt ihr einen Tipp für mich? Da ich absoluter VBA Anfänger bin, nehme ich an dass ich einen dummen Logikfehler eingebaut habe.
Option Explicit
Public zeilenzähler As Long
Sub zusammen()
Dim masterlist As String
zeilenzähler = 1
' Masterliste öffnen
Workbooks.Open Filename:="PFAD-DER-DATEI\Masterlist.xlsm
masterlist = "Masterlist.xlsm"
' Tabelle1
Workbooks.Open Filename:="PFAD-DER-DATEI\Tabelle1.xlsx"
Call kopieren(masterlist)
Workbooks("Tabelle1.xlsx").Activate
ActiveWorkbook.Close savechanges:=False
' Tabelle2
Workbooks.Open Filename:="PFAD-DER-DATEI\Tabelle2.xlsx"
Call kopieren(masterlist)
Workbooks("Tabelle2.xlsx").Activate
ActiveWorkbook.Close savechanges:=False
End Sub
Sub kopieren(masterlist As String)
Dim zeile As Long
Dim spalte As Long
For zeile = 1 To ActiveSheet.UsedRange.Rows.Count ' Zeilen der Quelle
For spalte = 1 To ActiveSheet.UsedRange.Columns.Count ' Spalten der Quelle
Workbooks(masterlist).Sheets("Liste").Cells(zeilenzähler, spalte) = _
ActiveWorkbook.Sheets("Tabelle1").Cells(zeile, spalte)
zeilenzähler = zeilenzähler + 1 ' Zeilenzähler um 1 erhöhen
Next spalte
Next zeile
End Sub
Das Zieltabellenblatt heißt "Liste", die Quelltabellenblätter heißen alle "Tabelle1".