ich habe ein Tabellenblatt mit 20 Spalten. Dazu habe ich eine Userform entworfen, die diese Tabelle nach mehreren Kriterien durchsuchen und die zutreffenden Zeilen in eine neue Tabelle schreiben soll.
Die Suchkriterien betreffen Spalte 12, 17 und 19.
Beispiel: Spalte 12 trifft zu, Spalte 17 nicht, Spalte 19 ja.
Ist sicher nicht so schwer, aber ich bekomme es nicht richtig hin.
Mein Code lautet:
Private Sub cmdOK_Click()
Set acs = ActiveSheet
Set quelle = Worksheets("Anträge") 'Quellblatt bestimmen
Set ziel = Worksheets("Ergebnisse Anträge") 'Zielblatt bestimmen
ziel.[a4:t20000].ClearContents 'Spalten auf Zielblatt löschen
quelle.Activate 'Quellblatt aktivieren
zq = 4 'aktuelle Zeile auf Quellblatt
zz = 4 'aktuelle Zeile auf Zielblatt
Do
If zq > 1000 Then Exit Do
If Me.cboObjektOrt = quelle.Cells(zq, 12)
And me.cbomaßnahme = quelle.cells(zq, 19) then
ziel.Cells(zz, 1) = quelle.Cells(zq, 1)
ziel.Cells(zz, 2) = quelle.Cells(zq, 2)
ziel.Cells(zz, 3) = quelle.Cells(zq, 3)
zq = zq + 1
zz = zz + 1
Else
zq = zq + 1
End If
Loop
End Sub
In diesem Fall ist das Ergebnis zwar korrekt. Wenn ich aber in meiner Userform andere Kriterien auswähle (Bsp: Spalte 17 weglasse), dann wird das Ergebnis falsch.
Wie muß meine Schleife lauten, damit ich alle Eventualitäten erwische?