ich bin ein absoluter vba-Neuling und habe eine schätzungsweise ziemlich triviale Frage.
Kurzversion:
Nachdem ich eine Tabelle gefiltert habe, möchte ich die Einträge in ein neues Sheet kopieren, allerdings nur, wenn nach der Filterung mehr als ein Eintrag besteht.
Mein bisheriger Ansatz:
If Cells(3, 3).Offset(1,0).Value 0 Then Range("B2:D2").Select Else Application.Selection = False
Range(Selection, Selection.End(xlDown)).Copy _
Workbooks("Mehrfachfilterung.xlsm").Worksheets("Ergebnisse").Range("A1")
misslingt leider komplett.
Ausführlich:
Mein prinzipielles Ziel besteht darin, eine Excel Tabelle iterativ nach allen möglichen Einträgen zu filtern. Wenn nach der Filterung mehr als eine Zeile befüllt ist möchte ich die Ergebnisse in ein seperates Sheet kopieren. Außerdem ist es nötig, dass die kopierten Einträge untereinander eingefügt werden. Wenn mir da noch jemand helfen könnte, wäre auch das kommende Übel bereinigt.
Meine kompletten (verzweifelten) Coding-Versuche lauten:
Sub MehrfachFilterung()
Dim FilterAuswahl As String
Dim X As Integer
Worksheets("Roh").Select
Range("B2").Select
X = 0
'Variable Definieren und Schleife starten
Do While ActiveCell.Value 0
FilterAuswahl = ActiveCell.Value
X = X + 1
'Löscht bestehende Filter und filtert nach Wert der Variable, Name der Tabelle evtl. definieren _
ANPASSEN
ActiveSheet.ListObjects("Tabelle1").Range.AutoFilter Field:=1, Criteria1:=FilterAuswahl
'Gefilterte Einträge auswählen und kopieren
'If Cells(3, 3).Offset(1,0).Value 0 Then Range("B2:D2").Select Else Application.Selection = _
False
Range(Selection, Selection.End(xlDown)).Copy _
Workbooks("Mehrfachfilterung.xlsm").Worksheets("Ergebnisse").Range("A1")
'Workbooks("Mehrfachfilterung.xlsm").Worksheets("Ergebnisse").Cells(Worksheets("Ergebnisse") _
.Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues.Application.CutCopyMode = False
'Wieder Datenblatt auswählen
Worksheets("Roh").Select
'Filter wieder löschen
ActiveSheet.ListObjects("Tabelle1").Range.AutoFilter Field:=1
'Setzt Variable auf den nächsten Wert
ActiveCell.Offset(X, 0).Select
Loop
End Sub
Über Hilfe wäre ich extrem dankbar!PS: Eine Literaturempfehlung mit möglichst vielen Anwendungsbeispielen für vba-Anfänger würde mich sehr freuen.
Vielen Dank und einen Schönen Sonntag