Hallo zusammen,
ich habe ein funktionierendes Makro, dass aus allen Tabellenblättern einer Datei die Zeilen kopiert und in ein Sammeltabellenblatt schreibt, welche in bestimmten Zellen keinen Inhalt haben:
Sub Fremdrueckstellungen()
Dim j As Long
Dim letzteZeile As Long, letzteZeileRST As Long
Dim ws As Worksheet, wsR As Worksheet
'Aufgabe des Makros: gehe alle Tabellenblätter durch und kopiere jeweils diejenigen Zeilen, _
in denen kein Eintrag in Spalte E ODER F ODER G steht in das neue Tabellenblatt "Rueckstellungen"
Tabblattname = InputBox("Name des neuen Tabellenblattes:", "Neues Tabellenblatt", "Rückstellungen")
Set wsR = Sheets.Add(after:=Sheets(Sheets.Count))
wsR.Name = Tabblattname
For Each ws In ThisWorkbook.Worksheets
ActiveSheet.AutoFilterMode = False
Rows("1:1000").EntireRow.Hidden = False
If ws.Name <> Tabblattname Then
letzteZeile = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
For j = 2 To letzteZeile
If ws.Cells(j, 6) = "" Or ws.Cells(j, 7) = "" Or ws.Cells(j, 8) = "" Then
letzteZeileRST = wsR.Cells(wsR.Rows.Count, 1).End(xlUp).Row + 1
ws.Rows(j).Copy wsR.Range("A" & letzteZeileRST)
wsR.Range("J" & letzteZeileRST) = ws.Name
End If
Next j
End If
Next ws
MsgBox "Fertig"
End Sub
Der Haken ist, dass einige Tabellenblätter einen Filter haben, den ich erst deaktivieren muss.
Ich dachte, das funktioniert mit: ActiveSheet.AutoFilterMode = False
Aber er will es einfach nicht korrekt ausführen. Eine Fehlermeldung bekomme ich nicht.
Kann mir bitte jemand helfen?
Vielen Dank.
Gruß
Willie
|