Ganze Zeilen löschen
#1
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
Top
#2
Code:
Private Sub label2_click()
  with Sheets(1).Columns(2)
     .replace ComboBox2 ,""
     .specialcells(4).entirerow.delete
  end with
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top
#3
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
Top
#4
Danke, passt! :) Wobei ich leider nach wie vor nicht verstehe wo bei mir der Fehler lag?
Top
#5
Hallo Fupi,

(19.06.2017, 07: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
Top
#6
Ja, jetzt hat es geschaltet, danke nochmal.
Top
#7
Warum nicht einfach ?
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top
#8
Ja, hatte ich mich auch gefragt, snb.
Dein Code ist kompakt und um Welten schneller als die Schleife.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste