AW: Dynamische Liste mehrere Tabellenblätter
02.05.2019 14:22:36
UweD
Hi
minimale Änderung: das Kopieren durch dirktes Zuweisen der Bereiche realisiert.
ob das was an Geschwindigkeit bringt, keine Ahnung
Sub Zusammenfassen()
Dim Wks As Worksheet, loLetzte As Long, Zeilen
Application.ScreenUpdating = False
With Worksheets("Zusammenfassung")
If .AutoFilterMode Then .AutoFilterMode = False ' Autofilter ausschalten
.UsedRange.Offset(1).ClearContents
End With
For Each Wks In ThisWorkbook.Worksheets
Select Case Wks.Name
Case "Zusammenfassung", "2", "3"
'hier einige Blätter die nicht bearbeitet werden sollen anführen, spart Arbeit
Case Else
With Wks
If .Range("A1") = "Bedingung" Then
Zeilen = .UsedRange.Rows.Count - 1
'Damit hier nur relevante Blätter durchsucht werden, die das richtige Format haben
With Worksheets("Zusammenfassung")
loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Row
.Cells(loLetzte, 1).Resize(Zeilen, 2).Value = Wks.Cells(2, 1).Resize(Zeilen, 2).Value
End With
End If
End With
End Select
Next Wks
With Worksheets("Zusammenfassung")
.Columns("B:B").AutoFilter Field:=1, Criteria1:=.Range("B1")
End With
End Sub
LG UweD