Hallo Excel Experten,
ich habe eine Exceldatei mit 227 Tabellenblättern. ich möchte nun diese 227 Tabellenblätter in einem Tabellenblatt zusammenfassen. dazu reichen leider meine spärlichen VBA Kenntnisse nicht aus.
MfG und einen schönen Samstag
Hallo Excel Experten,
ich habe eine Exceldatei mit 227 Tabellenblättern. ich möchte nun diese 227 Tabellenblätter in einem Tabellenblatt zusammenfassen. dazu reichen leider meine spärlichen VBA Kenntnisse nicht aus.
MfG und einen schönen Samstag
Hallo Dudel,
was heißt denn „zusammenfassen“? Willst du einfach eine Tabellenblatt erezeugen, in dem erst die Zeilen aus Blatt1, darunter die Zeilen aus Blatt2 darunter … usw. stehen? Oder sollen da irgendwelche Zellen, Spalten, Zeilen auf irgend eine besondere Art kombiniert werden?
Am besten lade mal eine Beispielmappe hoch, z.B. hier.
Gruß, Andreas
HI Andreas,
genau wie du vermutest. Inhalt Tabelle 1, darunter Inhalt Tabelle 2, darunter Inhalt Tabelle 3 usw.
Mal ein Versuch
Hallo Dudel,
Reichen deine VBA-Kennnisse hierfür?
Kopiere den folgenden Code in ein Modul und lass ihn laufen. ich hoffe er tut das, was er soll (was du möchtest):
Sub zusammen()
Dim zemax As Long, ze As Long, letzte As Long, von As Long, bis As Long
Dim liste As String
Dim blatt As Worksheet
Dim bereich As Range
Worksheets.Add
ActiveSheet.Name = "Zuammenfassung"
letzte = Rows.Count ' maximale Zeilenzahl
liste = ActiveSheet.Name ' Name der Zusammenfassungstabelle
zemax = 0
For Each blatt In Worksheets ' Jedes Tabellenblatt durchlaufen
If blatt.Name liste Then ' Zusammenfassungsblatt ignorieren
With blatt.UsedRange ' Benutzter Bereich
ze = .Rows.Count ' Zeilenzahl im benutzten Bereich
If zemax + ze \> letzte Then ' Wenn maximale Zeilenzahl erreicht, Kopieren abbrechen
MsgBox "Kopieren abgebrochen", vbOKOnly, "Maximale Zeilenzahl erreicht"
Exit Sub
End If
.EntireRow.Copy Destination:=Sheets(liste).Cells(zemax + 1, 1) ' Benutzten Bereich in Zusammenfassung kopieren
End With
zemax = zemax + ze ' Zeilenzähler aktualisieren
End If
Next blatt
End Sub
Gruß, Andreas
Danke Andreas,
werde ich gleich versuchen
mfg