Hallo Torsten,
erstmal vielen Dank für deine Mühe.
Ich habe mal getestet, wenn ich Me zu UserForm2 ändere mit dem selbsen Ergebnis. Wenn ich schrittweise die Zeilen durchlaufen lasse springt er bei der WENN-Funktion:
If .Cells(Zeile, 1).Value = UserForm2.ComboBox1.Value And .Cells(Zeile, 13).Value = UserForm2.ComboBox4.Value Then
Anzahl = Anzahl + 1
.Rows(Zeile).Delete
nicht in den DANN-Teil, auch wenn alle Bedigungen erfüllt sein müssen. Er gibt die gewünschten Werte bei UserForm2.Combobox1.Value und -4.value richtig aus wenn ich mit dem Mauszeiger darübergehe.
Ich kann mir sogar für jede Zeile die er nicht löscht eine MsgBox ausgeben lassen wo er beide Suchbegriffe und Zellenwerte ausgibt und auch dort stimmen die Werte überein.
Beispiel:
For Anzahl = 1 To AnzahlTB
For Zeile = ZeileMax To 1 Step -1
If .Cells(Zeile, 1).Value = UserForm2.ComboBox1.Value And .Cells(Zeile, 13).Value = UserForm2.ComboBox4.Value Then Anzahl = Anzahl + 1 _
And .Rows(Zeile).Delete Else f = MsgBox("Durchsuche Zeile: " & Zeile & Chr(13) & .Cells(Zeile, 1).Value & .Cells(Zeile, 13).Value & Chr(13) _
& UserForm2.ComboBox1.Value & UserForm2.ComboBox4.Value , vbOKOnly, "Info")
If Anzahl = AnzahlTB Then Exit For
If Zeile = 1 Then i = MsgBox("BLAAAAA", vbCritical, "Error!")
If i = vbOK Then Exit Sub
Next Zeile
Next Anzahl
Wenn ich das AND entferne und stattdessen nur die erste Bedingung stehen lasse funktioniert der Code. Mit der zweiten Bedingung alleine findet Excel keine Werte. Folglich muss das Problem in folgender Bedingung liegen:
.Cells(Zeile, 13).Value = UserForm2.ComboBox4.Value
Viele Grüße
C
|