vielleicht kann mir einer auf die Sprünge helfen.
Ich bastle gerade einen VBA Code, der in einer Arbeitsmappe alle Zeilen, die in Spalte F ein "x" enthalten, in ein separates Blatt kopiert.
Code funktioniert soweit einwandfrei, nur jetzt möchte ich, dass er
a) nur eingeblendete Tabellenblätter berücksichtigt
b) nur sichtbare Zellen. In den einzelnen Tabellenblättern sind nämlich Autofilter gesetzt.
Das Ein- und Ausblenden der Blätter sowie die Autofilter werden vorher vom Benutzer über eine UserForm aktiviert.
Hab's schon über SpecialCells.Copy.. probiert, bekomm damit aber nicht die Schleife über alle Blätter hin und das Einfügen in die erste freie Zeile.
Hier mal der Code-Abschnitt bei dem ich nicht weiter komme:
Dim sh1 As Worksheet
Dim myRow As Long
Dim myLastRow As Long
Dim n As Long
Application.ScreenUpdating = False
n = Worksheets("Test").Cells(Rows.Count, 6).End(xlUp).Row + 1 ' letzte gefüllte Zeile in _
Tab TEST finden
If n "Test" Then '
For myRow = 2 To myLastRow
If (UCase(sh1.Cells(myRow, 6).Value)) = UCase("x") Then ' wenn in Spalte 6 ein "x" _
steht , dann kopiere
' ganze Reihe und in letzte _
gefüllte Zelle von Tabellenblatt TEST
' einfügen
sh1.Rows(myRow).Copy
Sheets("Test").Rows(n).PasteSpecial Paste:=xlValues
n = n + 1 'Zähler erhöhen
End If
Next myRow
End If
Next
Sheets("Test").Select
ActiveSheet.Columns("A:X").WrapText = True
Application.ScreenUpdating = True
MsgBox "Fertig!"
Vielen lieben Dank!