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