Herbers Excel-Forum - das Archiv

Best. Zeile aus Tabelle löschen

Bild

Betrifft: Best. Zeile aus Tabelle löschen
von: Demian

Geschrieben am: 29.03.2005 17:33:57
Hi,
stehe vor folgendem VBA-Problem: In einer Tabelle möchte ich unabhängig von der Zahl der verwendeten Zeilen, die Zeilen, deren A-Spaltenwert =0 ist, löschen.
Komme mit "if" oder "for each"-Schleifen nicht weiter.
Danke.
Bild

Betrifft: AW: Best. Zeile aus Tabelle löschen
von: ransi

Geschrieben am: 29.03.2005 17:46:48
hallo demian
versuch mal so:
Option Explicit

Public
Sub nuller_weg()
Dim l As Long
Dim letzte As Long
letzte = Range("a65536").End(xlUp).Row
For l = letzte To 1 Step -1
If Not IsEmpty(Cells(l, 1)) Then If Cells(l, 1).Value = 0 Then Rows(l).Delete
Next
End Sub

ransi
Bild

Betrifft: AW: Best. Zeile aus Tabelle löschen
von: Demian
Geschrieben am: 30.03.2005 09:20:05
Anfrage war vielleicht nicht präzise genug. Der ausgegebene Wert in einigen Zeilen der Spalte A beträgt "0", hinterlegt sind allerdings Formeln. Hab's dann mit "0" und string versucht, klappt aber nicht. Noch 'ne Idee? Danke.
Demian
Bild

Betrifft: AW: Best. Zeile aus Tabelle löschen
von: ransi
Geschrieben am: 30.03.2005 16:53:41
hallo demian
ich weiss nicht was da bei dir klemmt.
habe den code hieraus kopiert und getestet.
funzt einwandrei.
löscht die zeilen die in spalte a eine 0 haben.
ob die 0 ein formelergebniss ist, oder händisch eingegeben ist , egal.
ransi
Bild

Betrifft: AW: Best. Zeile aus Tabelle löschen
von: Demian
Geschrieben am: 31.03.2005 12:59:38
Weiss es ja auch nicht. Heute noch einige Male probiert. Es funktioniert einfach nicht. Nix wird gelöscht. Hm, weiter probieren. Trotzdem Danke.
Bild

Betrifft: AW: Best. Zeile aus Tabelle löschen
von: Martin Beck

Geschrieben am: 31.03.2005 13:08:13
Hallo Demian,
hast Du den Code mit Copy/Paste in ein normales Modul eingefügt? Beim abtippen könnte es sonst Verwechselungen von 1 ("Eins") und l (Buchstabe "el") geben.
Im Zweifel lade mal die Datei hoch, der Code ist nämlich korrekt.
Gruß
Martin Beck
Bild

Betrifft: AW: Best. Zeile aus Tabelle löschen
von: Demian
Geschrieben am: 31.03.2005 13:17:49
Shame on me. Klappt natürlich jetzt! Herzlichen Dank.
Bild

Betrifft: AW: Best. Zeile aus Tabelle löschen
von: Demian

Geschrieben am: 31.03.2005 14:29:14
Hm, habe die Formel jetzt mal in eine größere Prozedur eingefügt. Zwar klappt die Prozedur und die "Null-Zeilen" werden gelöscht, bekomme dennoch eine Fehlermeldung an der Stelle "If Cells(1, 1).Value etc." Woran kann das liegen?
Sub Makro2()
Cells.Select
Selection.Clear
Workbooks.Open FileName:= _
"C:\WINNT\...\Erg_1_Daten.xls"
ActiveSheet.UsedRange.Select
Selection.Copy
Windows("Erg_1.xls").Activate
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.AutoFilter
Dim l As Long
Dim Letzte As Long
Letzte = Range("a65536").End(xlUp).Row
For l = Letzte To 1 Step -1
If Not IsEmpty(Cells(l, 1)) Then
If Cells(l, 1).Value = 0 Then Rows(l).Delete   (hier "Laufzeitfehler'13' - Typen unverträglich")
End If
Next
End Sub

 Bild
Excel-Beispiele zum Thema "Best. Zeile aus Tabelle löschen"
Suche über mehrere Tabellen Benennen von Tabellenblättern mit Monatsnamen
Druckseitenlinien im Tabellenblatt Tabellenblattnamen in ein Listenfeld einlesen
Suchbegriff über mehrere Tabellenblätter suchen. Tabellenblätter benennen
Tabellenblatt auswählen Zustand von Tabellenblatt-Checkboxes ermitteln
Tabellenblattnamen der VBE-Projekte ändern Tabellenblattnamen nach Datum