Hallo ihr lieben Experten,
ich benötige eure Hilfe. Ich habe eine Excel Mappe die mehrere Arbeitsblätter beinhaltet, diese sollen zu einer zusammengefasst werden und zwar untereinander. Zusätzlich sollen noch ganz links die Namen der Arbeitsblätter übernommen werden. Der Sinn dahinter ist folgender, es soll eine Art Checkliste werden. Die Zeilen die man nicht benötigt sollen ausgeblendet werden können.
Dazu habe ich schon folgende Programmierung gefunden:
Sub KonsolidiereMal()
Dim wks As Worksheet
Dim wksK As Worksheet
Dim lngLetzteZeileKons As Long
Dim lngAbZeile As Long
Application.DisplayAlerts = False
On Error Resume Next
Set wksK = ActiveWorkbook.Worksheets("Konsolidierung")
wksK.Delete
On Error GoTo 0
Set wksK = Worksheets.Add(Before:=ActiveWorkbook.Sheets(1))
wksK.Name = "Konsolidierung"
lngLetzteZeileKons = 0
For Each wks In ActiveWorkbook.Worksheets
If wks.Name <> wksK.Name Then
lngAbZeile = lngLetzteZeileKons + 1
wks.Range(wks.Cells(1, 1), wks.Cells(wks.Cells.SpecialCells(xlCellTypeLastCell).Row, 254)).Copy _
Destination:=wksK.Cells(lngAbZeile, 2)
lngLetzteZeileKons = wksK.Cells.Find(What:="*", _
After:=wksK.Cells(1), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
wksK.Range(wksK.Cells(lngAbZeile, 1), wksK.Cells(lngLetzteZeileKons, 1)) = wks.Name
End If
Next
Application.DisplayAlerts = True
End Sub
Die kommt schon dem was ich will sehr nah. Was noch super wäre, wenn sich die Zusammenfassung automatisch aktualisieren würde, falls man in den einzelnen Arbeitsblättern etwas ändert.
Vielen Dank im Voraus
Gruß Alex
|