Danke für die schnelle Antwort.
Es sollen beide Comboboxen zutreffen um die Zeile zu löschen.
Ein Unterschied zwischen dem Test und der Umsetzung ist, dass im Falle der Umsetzung bei dem i (MsgBox) eine vorhergehende Definition der Variable (hier Dim i as Long) gefordert wird. Warum das so ist habe ich nicht nachvollziehen können.
Hier mal der Text als Vergleich:
Public Sub Zeile_Loeschen2()
Dim Zeile As Long
Dim Anzahl As Long
Dim ZeileMax As Long
With Worksheets("Test")
ZeileMax = .UsedRange.Rows.Count
For Anzahl = 1 To 4 + 1 'Löscht 4 Einträge
For Zeile = ZeileMax To 1 Step -1
If .Cells(Zeile, 1).Value = "Blaaa" And .Cells(Zeile, 13).Value = "5" Then
.Rows(Zeile).Delete
Anzahl = Anzahl + 1
End If
If Anzahl = 4 + 1 Then Exit For
If Zeile = 1 Then i = MsgBox("BlaBlaBlaBlaBlaaaaaa!", vbCritical, "Error!")
If i = vbOK Then Exit Sub
Next Zeile
Next Anzahl
End With
End Sub
Dieser funktioniert auch mit der Tabelle, an der ich letztentlich arbeiten möchte, wenn ich das Worksheet entsprechend anpasse. Also könnte es schonmal nicht an irgendwelchen Tabelleneigenschaften liegen.
Ich bin etwas ratlos.
Grüße, kleinerC
|