Ich habe folgendes Problem:
In einer Tabelle sind in den Spalten A bis L Daten enthalten. Da die Liste aber zu lang wird, möchte ich eine Filter-Funktion einbauen.
Ich stelle mir diese so vor, dass ab der Spalte M einzelne festgelegte Schlagwörter hinzugefügt werden können. Ich habe eine Userform erstellt wo man diese Schlagwörter über OptionButtons auswählen kann. Nachher sollen die Zeilen wo bspw. das Schlagwort „Auto“ erscheint untereinander in das Tabellenblatt „Suchergebnis“ kopiert werden. Mein Quelltext sieht bisher so aus:
Private Sub Auto_Aktiviert()
Dim Auto As String
Dim Ergebnis As Worksheet
Set Ergebnis = Sheets(„Suchergebnis“)
Columns(„M:Z“).Select (wenn mehrere Schlagwörter zutreffen, würden diese dann in den Spalten nach M stehen)
Auto = „Auto“
Selection.Find(What:=Auto, _
After:=ActiveCell, _
LookIn:=xlValues, _
LookAt:=xlPart, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext, _
MatchCase:=False).Activate
Zeile$ = ActiveCell.Address
Zeile$ = Mid$(ActiveCell.Address, 3)
Rows(Zeile$ + „:“ + Zeile$).Select
Selection.Copy
Sheets(„Suchergebnis“).Select
Rows(„8:8“).Select
ActiveSheet.Paste
End Sub
Bis Zeile 7 ist der Tabellenkopf. Daher sollen die Zeilen ab Zeile 8 kopiert und eingefügt werden. Diese Formel klappt ganz gut, wenn es nur eine Zeile betrifft. Taucht nun das Schlagwort Auto in bspw. Zeile 8, 20, 50 und 100 auf, brauche ich irgendeine Schleife, dass diese Zeilen im Tabellenblatt „Suchergebnis“ in Zeile 8-11 kopiert werden.
Wie muss eine Schleifen-Funktion aussehen, damit dies funktioniert?