Clever-Excel-Forum

Normale Version: Ganze Zeilen löschen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi, ich stehe leider irgendwo auf dem Schlauch. Komme beim besten Willen nicht darauf warum ich nicht alle Zeilen bis zur ersten leeren Zeile gelöscht bekomme, deren Inhalt in Spalte 2 dem der ComboBox2 entspricht ( auch mit ComboBox2.Text getestet). Bei beiden Varianten wird nur die erste Zeile gelöscht in der in Spalte 2 der Text/Value dem der ComboBox2 entspricht. Jemand ne Idee?

Code:
Private Sub label2_click()
lindex = 2
    Do While Sheets(1).Cells(lindex, 2).Value <> ""
         If Sheets(1).Cells(lindex, 2).Value = UserForm1.ComboBox2.Value Then
              Sheets(1).Rows(lindex).EntireRow.Delete
         End If
    lindex = lindex + 1
    Loop
End Sub
Code:
Private Sub label2_click()
  with Sheets(1).Columns(2)
     .replace ComboBox2 ,""
     .specialcells(4).entirerow.delete
  end with
End Sub
Hallo Fupi,

teste es mal rückwärts, also von unten nach oben:
Private Sub label2_click()
Dim lIndex As Long
lIndex = Sheets(1).Cells(Rows.Count, 2).End(xlUp).Row
Do While lIndex > 0
If Sheets(1).Cells(lIndex, 2).Value = UserForm1.ComboBox2.Value Then
Sheets(1).Rows(lIndex).EntireRow.Delete
End If
lIndex = lIndex - 1
Loop
End Sub
Gruß Uwe
Danke, passt! :) Wobei ich leider nach wie vor nicht verstehe wo bei mir der Fehler lag?
Hallo Fupi,

(19.06.2017, 06:17)Fupi schrieb: [ -> ]Wobei ich leider nach wie vor nicht verstehe wo bei mir der Fehler lag?

es ginge auch vorwärts, wenn man Deinen Code etwas modifiziert:
Private Sub label2_click()
 Dim lIndex As LongPtr
   lIndex = 2
   Do While Sheets(1).Cells(lIndex, 2).Value <> ""
        If Sheets(1).Cells(lIndex, 2).Value = UserForm1.ComboBox2.Value Then
             Sheets(1).Rows(lIndex).EntireRow.Delete
        Else
             lIndex = lIndex + 1
        End If
   Loop
End Sub
Vielleicht erkennst Du es so besser, woran es lag. Wink

Gruß Uwe
Ja, jetzt hat es geschaltet, danke nochmal.
Warum nicht einfach ?
Ja, hatte ich mich auch gefragt, snb.
Dein Code ist kompakt und um Welten schneller als die Schleife.

Gruß Ralf