Daten aus Tabelleenblättern zusammenfassen
03.09.2016 12:04:07
Heinz
ich habe es - mit großer Mühe - geschafft,
folgendes Makro zu basteln.
Ausgangspunkt ist eine Datei mit x Tabellenblätter, auf denen
Tabellen in der gleichen Struktur, Länge und Breite enthalten sind.
Das Makro:
... fügt in eine Datei ein Tabellenblatt ein,
... kopiert die ersten Zeilen des ersten Tabellenblattes mit Daten
... kopiert aus jedem Datenblatt die Daten und fügt sie im
neuen Tabellenblatt zusammen.
Sub zusammenfassen()
Dim Zeile As Long
Dim letzteZ As Long
Dim AnzahlBlaetter As Byte
Dim i As Integer
'Auswertungsblatt einfügen
Worksheets.Add.Name = "Zusammenfassung"
ActiveSheet.Move Before:=Worksheets(1)
'Anzahl der Arbeitsblätter ermitteln
AnzahlBlaetter = ThisWorkbook.Worksheets.Count
'Die ersten 4 Kopzeilen kopieren
With ThisWorkbook.Worksheets(2)
.Range("A2:W4").Copy Worksheets("Zusammenfassung").Range("A2")
Range("A1").Select
ActiveCell.FormulaR1C1 = "Gesamt"
Selection.Font.Bold = True
Selection.Font.Size = 14
End With
'Von Blatt 2 bis Blatt zum letzten Blatt zusammenfassen
For i = 2 To AnzahlBlaetter
With ThisWorkbook.Worksheets(i)
letzteZ = .Cells(Rows.Count, 1).End(xlUp).Row
Zeile = Worksheets("Zusammenfassung").Cells(Rows.Count, 1).End(xlUp).Row + 1
.Range("A5:W" & letzteZ).Copy Worksheets("Zusammenfassung").Range("A" & Zeile)
End With
Next
End Sub
Jetzt hat sich aber das Problem geändert.Die Tabellen in den Datenblättern haben zwar noch die gleiche Struktur und Breite,
aber die Länge ist unterschiedlich.
D.h., ich muss in jedem Tabellenblatt erst mal die Länge der Datei ermitteln
und das dann in die Schleife einbauen.
Oder ich lass in jeder Tabelle mit usedrange den Bereich markieren....
Aber wie dem auch sei, ich kriegs nicht hin.
Könnt Ihr helfen?
Heinz