Zeilen mit Nullwert in bestimmten Spalten löschen

25/11/2008 - 14:20 von Harald Schlüter | Report spam
Hallo zusammen,

ich benötige ein Makro für folgende Problemstellung:

Ich möchte in einem Arbeitsblatt alle Zeilen löschen in deren Spalten
F, K, P, U, Z und AE der Wert 0 steht.
Sobald in einer der Spalten ein Wert <> 0 steht, bleibt die Zeile
bestehen.

Besten Dank im Voraus.

Viele Grüße
Harald
 

Lesen sie die antworten

#1 Andreas Killer
25/11/2008 - 15:50 | Warnen spam
Harald Schlüter schrieb:

ich benötige ein Makro für folgende Problemstellung:

Ich möchte in einem Arbeitsblatt alle Zeilen löschen in deren Spalten
F, K, P, U, Z und AE der Wert 0 steht.
Sobald in einer der Spalten ein Wert <> 0 steht, bleibt die Zeile
bestehen.



Sub LöscheFKPUZAE()
'Welche Spalten beachten?
Spalten = Array("F", "K", "P", "U", "Z", "AE")
'Letzte Zeile bestimmen
Ymax = Cells.SpecialCells(xlCellTypeLastCell).Row
'Starte ab Zeile 1
Y = 1
'Solange nicht die letzte Zeile erreicht wurde
Do While Y <= Ymax
'Nehme an das gelöscht werden kann
Lösche = True
'Durchlaufe die gewünschten Spalten
For I = LBound(Spalten) To UBound(Spalten)
'Ist der Wert <> 0?
If Range(Spalten(I) & Y) <> 0 Then
'Ja, dann diese Zeile nicht löschen
Lösche = False
'Fertig
Exit For
End If
Next
'Alle Spalten sind geprüft, kann gelöscht werden?
If Lösche Then
'Ja, Zeile löschen
Rows(Y).Delete
'Jetzt haben wir eine Zeile weniger
Ymax = Ymax - 1
Else
'Nein, nàchste Zeile
Y = Y + 1
End If
Loop
End Sub

Viel Spaß damit, Andreas.

Ähnliche fragen