Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1112to1116
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

löschen von Zeilen

löschen von Zeilen
Zeilen
Hallo,
ich habe gestern schon mal geschrieben wegen dem Löschen von Zeilen, habe aber den Vorschlag nicht umsetzen können. Habe mir selber was zusammengesammelt, was leider nicht recht funktionieren will. Der folgende Code steht jetzt in einer Userform, welche eine ComboBox1 und einen CommandButton1 enthält:

Private Sub CommandButton1_Click() 'Löschen
Dim Zeile As Long, ZeileLetzte As Long
ZeileLetzte = Worksheets("Tabelle2").Cells(Worksheets("Tabelle2").Rows.Count, 2).End(xlUp).Row
For Zeile = 1 To ZeileLetzte
If ComboBox1.Value = Worksheets("Tabelle2").Cells(Zeile, 2).Value Then
Worksheets("Tabelle2").Cells(Zeile, 2).Select
Worksheets("Tabelle2").ActiveCell.EntireRow.Delete
' Application.ScreenUpdating = True
End If
Next Zeile
Useform1.Hide
End Sub
Habe in der For-schleife auch schon diesen Code versucht:

'Worksheets("Tabelle2").Rows(Zeile).Select oder
Selection.EntireRow.Delete
Rows(Zeile).EntireRow.Delete
oder diesen:
      'Sheets("Tabelle2").Select oder
Rows("Zeile:Zeile").Select
Selection.Delete Shift:=xlUp
Was ist falsch frage ich mich?
Grüße, Axel

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: löschen von Zeilen
07.11.2009 10:54:29
Zeilen
Hi
mal grundsätzlich,
1. wenn du auf diese Weise Zeilen löschst, dann muss die Schleife nicht von 1 bis x, sondern von x bis 1, also rückwärts laufen.
2. solltest du nicht selektieren, sondern direkt referenzieren:
Sheets("Tabelle2").Rows(Zeile).EntireRow.Delete
3. ist diese Methode zum Löschen von Zeilen überhaupt die schlechtmöglichste.
wesentlich beser wäre z.B. auf die Liste den Autofilter anzuwenden und dann die sichtbaren Zeilen zu löschen, das kann man auch gut mit dem Makrorecorder aufzeichen.
Gruß, Daniel
AW: löschen von Zeilen
07.11.2009 16:12:52
Zeilen
Hi Daniel,
danke für die Aufklärung.
Habe das jetzt mal mit "Step -1" probiert, aber es funktioniert immer noch nicht.
Private Sub CommandButton1_Click() 'Löschen
Dim Zeile As Long, ZeileLetzte As Long
ZeileLetzte = Worksheets("Tabelle2").Cells(Worksheets("Tabelle2").Rows.Count, 2).End(xlUp).Row
For Zeile = 1 To ZeileLetzte Step -1
If ComboBox1.Value = Worksheets("Tabelle2").Cells(Zeile, 2).Value Then
Worksheets("Tabelle2").Cells(Zeile, 2).Select
Worksheets("Tabelle2").ActiveCell.EntireRow.Delete
' Application.ScreenUpdating = True
End If
Next Zeile
Useform1.Hide
End Sub
Gruss, Axel
Anzeige
AW: löschen von Zeilen
07.11.2009 16:17:40
Zeilen
Hallo
Andersrum!
nicht
For Zeile = 1 To ZeileLetzte Step -1
sondern
For Zeile = ZeileLetzte To 1 Step -1
Gruß Matthias
AW: löschen von Zeilen
07.11.2009 16:58:26
Zeilen
Hi Daniel,
danke für die Aufklärung.
Habe das jetzt mal mit "Step -1" probiert, aber es funktioniert immer noch nicht.
Private Sub CommandButton1_Click() 'Löschen
Dim Zeile As Long, ZeileLetzte As Long
ZeileLetzte = Worksheets("Tabelle2").Cells(Worksheets("Tabelle2").Rows.Count, 2).End(xlUp).Row
For Zeile = 1 To ZeileLetzte Step -1
If ComboBox1.Value = Worksheets("Tabelle2").Cells(Zeile, 2).Value Then
Worksheets("Tabelle2").Cells(Zeile, 2).Select
Worksheets("Tabelle2").ActiveCell.EntireRow.Delete
' Application.ScreenUpdating = True
End If
Next Zeile
Useform1.Hide
End Sub
Gruss, Axel
Anzeige
... umgekehrt....
07.11.2009 17:04:43
robert
hi,
For Zeile = ZeileLetzte to 1 Step -1
gruß
robert

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige