Zeile löschen

hallo,
habe einmal ein VBA geschrieben, welches mir eine ganze löscht, wenn der Inhalt einer Zelle in dieser Zeile = 0 war, und finde dieses VBA jetzt nicht mehr, kann mir hier jemand weiter helfen?

Bsp.
Spalte A Spalte B Spalte C Spalte D
Zeile 1 0 2 2 2
Zeile 2 5 4 3 7
Zeile 3 8 9 4 2

Zeile 1 sollte gelöscht werden da „A1“ = 0

DANKE FÜR EURE HILFE

Wenn DU es geschrieben hast - warum schreibst Du es dann nicht neu?

sub blabla()

for i = 0 to 1000
if range(„A1“).offset(0,i).value = 0 then range(„A1“).offset(0,i).entirerow.delete
next i
end sub

so in etwa - daumen mal pi…

habe einmal ein VBA geschrieben, welches mir eine ganze
löscht, wenn der Inhalt einer Zelle in dieser Zeile = 0 war,
und finde dieses VBA jetzt nicht mehr, kann mir hier jemand
weiter helfen?
Spalte A Spalte B Spalte C Spalte D
Zeile 1 0 2 2 2
Zeile 2 5 4 3 7
Zeile 3 8 9 4 2
Zeile 1 sollte gelöscht werden da „A1“ = 0

Hi Stefan,

Option Explicit

Sub tt()
Dim Zei As Long, Spa As Integer
For Zei = Range("A65536").End(xlUp).Row To 1 Step -1
 For Spa = 1 To Range("IV" & Zei).End(xlToLeft).Column
 If Cells(Zei, Spa) = 0 Then
 Cells(Zei, Spa).EntireRow.Delete
 Exit For
 End If
 Next Spa
Next Zei
End Sub

Gruß
Reinhard

Hi Stefan,

Option Explicit

Sub tt()
Dim Zei As Long, Spa As Integer
For Zei = Range(„A65536“).End(xlUp).Row To 1 Step -1
For Spa = 1 To Range(„IV“ & Zei).End(xlToLeft).Column
If Cells(Zei, Spa) = 0 Then
Cells(Zei, Spa).EntireRow.Delete
Exit For
End If
Next Spa
Next Zei
End Sub

Gruß
Reinhard

VIELEN VIELEN DANK, das hat mir jetzt echt geholfen!!! DANKE, *daumenhoch*

noch eine frage: könntest du mir irgendwie die einzelnen zeielen oder die funktionsweise erklären? ich kann zwar VBA aber hier verstehe ich nich ganz, in welcher spalte er nach dieser zahl such… oder wo kann ich eingeben in welcher splate er suchen soll… und wenn ich artikelnummern habe bsp. 023589642 und geben ein er soll alles mit der 0 löschen wird diese zeile dann auch gelöscht, weil ja eine 0 drin ist?

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi, versuche es mal damit.
Sub DelZell()
Dim var As Variant
Dim iRow As Integer, iRowL As Integer
iRowL = Cells(Rows.Count, 1).End(xlUp).Row
For iRow = iRowL To 1 Step -1
var = Application.Match(0, Rows(iRow), 0)
If Not IsError(var) Then
Rows(iRow).Delete
End If
Next iRow
End Sub
Gruß Rainer

ich glaube ich bin verblödet, ich habe schon sehr viel mit VBA gemacht, aber hier verstehe ich schon gar nichts, weder wo er sucht, noch nach was :-/

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

ich glaube ich bin verblödet, ich habe schon sehr viel mit VBA
gemacht, aber hier verstehe ich schon gar nichts

Nein, bist DU nicht! Wenn du nur einige wenige Grundbegriffe und Regeln, im VBA kennst, dann verwende das Makro einfach so wie es ist. VBA-Lektionen wird wohl hier aus Zeitgründen niemand geben wollen. Aber am Beispiel lernen führt auch immer Schritt für Schritt weiter zur Vollkommenheit, wenn es auch langsam vorangeht.
Und vielleicht fragst du mal die Experten hier etwas detaillierter, dann klappt es auch mit dem Nachbarn.
Gruß
Rainer

wia kann man denn hier dirket einen experten fragen? bin eben neu in diesem forum und kenne mich nicht recht aus :-/ danke

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi, lese bitte die FAQ’s 15, 16, 17, und 18 und versuche deine Anfragen so präzise wie nur möglich zu stellen. Benutze auch die Suchfunktionen, um nicht alle möglichen Fragen doppelt zu stellen.

Gruß
Rainer

Erklärung des Codes

Option Explicit

Sub tt()
Dim Zei As Long, Spa As Integer

definieren der Variablen

For Zei = Range(„A65536“).End(xlUp).Row To 1 Step -1

ermitteln welche Zeile die letzte im Sheet ist und von da an zeilenweise nach oben springen

For Spa = 1 To Range(„IV“ & Zei).End(xlToLeft).Column

ermitteln welche Spalte die letzte in der aktuellen Zeile ist und von links nach rechts durchtesten

If Cells(Zei, Spa) = 0 Then

wenn der Inhalt null ist

Cells(Zei, Spa).EntireRow.Delete

die ganze Zeile löschen

Exit For
End If
Next Spa
Next Zei
End Sub

jeweils die verschiedenen Loops und so beenden

Gruß

Munich