Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1404to1408
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

Tabellen Zusammenführung

Tabellen Zusammenführung
28.01.2015 17:06:16
zebra
Hallo,
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".

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
ActiveSheet
28.01.2015 23:31:02
Frank
Hallo,
was ist denn Dein ActiveSheet beim Öffnen von Tabelle1.xlsx? Wenn da ein leeres Blatt offen ist, ist UsedRange = 0 (oder 1, wenn vielleicht noch ne Überschriftszeile drin ist) und dann ist da
For zeile = 1 To ActiveSheet.UsedRange.Rows.Count ' Zeilen der Quelle

schon Feierabend. Schön überprüfen lässt sich das, wenn man die Codeausführung mit F8 startet (und per F8 schrittweise weiterlaufen lässt. Da sieht man dann, ob die entsprechenden Schleifen überhaupt durchlaufen werden.
Grüsse,
Frank

AW: ActiveSheet
30.01.2015 11:35:05
zebra
Hallo Frank,
vielen Dank für die schnelle Antwort und den Tipp mit F8.
Nach dem ich das ActiveSheet noch deklariert habe, funktioniert es einwandfrei :)
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige