Makro löscht nur teilweise
Franz
Habe ein ähnliches Problem wie es schon im Archiv steht, kann es aber auf mein Makro nicht anwenden. Daher werde ich etwas ausholen müssen. Mein Makro sollte gewissen Zeilen die gewissen Bedingungen erfüllen löschen. Wenn das Makro von oben nach unten durchgeht, überspringt es auf Grund der automatischen Umnummerierung von Excel die nachfolgende Zeile.
Verwendet man einen
Sub test() {aus Archiv}
For i = Cells(Rows.Count, 7).End(xlUp).Row To 1 Step -1
If Cells(i, 7).Value = "SERCON SERVICE-KONZEPTE FUER" Then
Cells(i, 7).EntireRow.Delete Shift:=xlUp
End If
Next
End Sub
In dem man von unten her löscht, funktioniert dies.
Ich möchte jetzt aber eine Range und for each cell in Selection verwenden:
Sub AuszugausMakro()
Range(rngStartpoint, rngEndpoint).Select
For Each cell In Selection
If Cells(cell.Row, rngLastYearColumn.Column) = 0 _
And Cells(cell.Row, rngCurrentYearColumn.Column) = 0 Then
Rows(cell.Row).EntireRow.Delete
End Sub
RngStartpoint wird durch den User bestimmt in dem er in eine Zelle klickt, den Endpunkt bestimme ich mit :
Set rngEndpoint = Cells(65000, rngStartpoint.Column).End(xlUp)
Dies möchte ich nach Möglichkeit auch so beibehalten. Kann ich irgendwie dafür sorgen das der for each cell in selection Befehl unten anfängt? Ein einfaches umdrehen der Range auf
Range(rngEndpoint,rngStartpoint).Select
Hilft da leider nicht. Hat irgendjemand eine Idee
Danke, Gruss
Franz