AW: Auflistung von Blättern auf ein Blatt
26.02.2017 16:48:18
Blättern
Hallo Thorsten,
kannst ja auch mal das hier ausprobieren:
in ein allgemeines Modul:
Public Sub Zusammenfassung()
Dim loLetzteQ As Long
Dim loLetzteZ As Long
Dim wsQuelle As Worksheet
Dim wsZiel As Worksheet
Application.ScreenUpdating = False
Application.EnableEvents = False
Set wsZiel = ThisWorkbook.Worksheets("Zusammenfassung")
With wsZiel
loLetzteZ = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Range(.Cells(2, 1), .Cells(loLetzteZ, 10)).ClearContents
End With
For Each wsQuelle In ThisWorkbook.Worksheets
loLetzteZ = wsZiel.Cells(Rows.Count, 1).End(xlUp).Row + 1
If wsQuelle.Name "Zusammenfassung" Then
loLetzteQ = wsQuelle.Cells(Rows.Count, 1).End(xlUp).Row
If loLetzteQ > 1 Then
With wsQuelle
.Range(.Cells(2, 1), .Cells(loLetzteQ, 9)).Copy wsZiel.Cells(loLetzteZ, 1)
wsZiel.Cells(loLetzteZ, 10) = wsQuelle.Name
End With
End If
End If
Next
Set wsZiel = Nothing
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
ins Code-Modul vom Blatt "Zusammenfassung"
Rechtsklick auf den Tabellenblattreiter - Code anzeigen - Code rechts ins Code-Fenster kopieren
Private Sub Worksheet_Activate()
Call Zusammenfassung
End Sub
Wie läuft es ab:
Sobald du von irgendeinem Blatt auf das Blatt "Zusammenfassung" wechselst wird das Makro im Modul aufgerufen. Dieses Makro leert dann zunächst das Blatt "Zusammenfassung" (bis auf die Überschriftenzeile) und kopiert dann alle Daten von allen anderen Blättern (in denen Daten vorhanden sind) ins Blatt "Zusammenfassung".
Der Code wird halt immer ausgeführt, sobald du auf das Tabellenblatt "Zusammenfassung" wechselst, egal ob in den anderen Blättern etwas geändert wurde oder nicht.
So hast du aber immer die aktuellen Daten aus den Blättern in deiner Zusammenfassung.
Gruß Werner