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

Beiträge aus den Excel-Beispielen zum Thema "Best. Zeile aus Tabelle löschen"