Supportnet / Forum / Tabellenkalkulation
Zeilen löschen / VBA + Makro läuft nicht richtig
Frage
Hallo Community,
das folgende Makro läuft aus einem mir unbekannten Grund nicht richtig:
Sub Test()
Dim n As Integer
For n = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(n, 2).Value <> 7 _
Then Cells(n, 2).Select [b]* Alternativ auch mit "Rows(n).Select" versucht [/b]
With Selection.EntireRow.Delete
End With
Next n
End Sub
Es soll in der Spalte "B" nach allen Werten gesucht werden, die nicht "7" entsprechen und
dann die ganze Zeile gelöscht werden. Das Makro läuft durch, es werden auch Zeilen gelöscht, jedoch lässt sich dies für mich nicht nachvollziehen.
z.B. folgender Versuch mit o.g. Makro
A B
Test 1
Test 2
Test 3
Test 4
Test 5
Test 6
Test 7
Test 8
Test 9
erhalte ich folgendes Ergebnis
Test 2
Test 4
Test 7
Test 8
Schon seltsam, oder ?!
Vielleicht kann mich mal wieder jemand unterstützen ?!
Gruß
martl
Antwort 1 von Guenter
Hallo,
die Schleife muss in der anderen Richtung laufen:
Gruß
Günter
die Schleife muss in der anderen Richtung laufen:
Option Explicit
Sub Test()
Dim n As Integer
For n = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If Cells(n, 2).Value <> 7 Then Cells(n, 2).Select
'* Alternativ auch mit "Rows(n).Select" versucht
With Selection.EntireRow.Delete
End With
Next n
End Sub
Gruß
Günter
Antwort 2 von nighty
hi martl
so auf anhieb konnt ich dieses entdecken was nicht reingehoert :)
ein unterstrich hinter THEN ,da ist der uebeltaeter _ :)
gruss nighty
so auf anhieb konnt ich dieses entdecken was nicht reingehoert :)
ein unterstrich hinter THEN ,da ist der uebeltaeter _ :)
gruss nighty
Antwort 3 von nighty
hi alle
ops vor then :(
gruss nighty
ops vor then :(
gruss nighty
Antwort 4 von martl
Hallo,
kleine Ursache, große Wirkung !
Darauf, dass die Schleife in die falsche Richtung suchen kann, bin ich nicht gekommen, ist aber, wenn ich mir das jetzt so anschaue, einleuchtend.
Möchte mich recht herzlich für die schnelle und "meinenervenschonende" Hilfe bedanken.
Viele Grüße
martl
kleine Ursache, große Wirkung !
Darauf, dass die Schleife in die falsche Richtung suchen kann, bin ich nicht gekommen, ist aber, wenn ich mir das jetzt so anschaue, einleuchtend.
Möchte mich recht herzlich für die schnelle und "meinenervenschonende" Hilfe bedanken.
Viele Grüße
martl

