Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro löscht nur teilweise

Forumthread: Makro löscht nur teilweise

Makro löscht nur teilweise
Franz
Hallo
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
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro löscht nur teilweise
Moe
Hallo Franz
Versuch es mal so
Gruss
Moe

Sub AuszugausMakro()
Range(rngStartpoint, rngEndpoint).Select
schleife:
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
goto Schleife
End Sub

Anzeige
AW: Makro löscht nur teilweise
Franz
Versteh ich dich da richtig Moe, dann machst du eine Schlauf rings um den Befehl rum damit er sich wiederholt?
schleife:
If Cells(cell.Row, rngLastYearColumn.Column) = 0 _
And Cells(cell.Row, rngCurrentYearColumn.Column) = 0 Then
Rows(cell.Row).EntireRow.Delete

End If
Next
GoTo schleife
da bringt dann einen Type missmatch
Anzeige
AW: Makro löscht nur teilweise
Moe
Ja denn dann fängt er Oben wieder an bis es keien änderungen mehr gibt
Oder habe ich dich Missverstanden
Gruss
Moe
AW: Makro löscht nur teilweise
30.03.2004 17:16:00
Franz
Hat leider nicht ganz geklappt, habe dann die Schleife vor der Range selection angesetzt und dann lief das Makro über die letzte Zelle hinaus und begann von neuem, crashde dann aber wieder weil die Referenzen einer Formel dadurch verloren gingen. Dies habe ich nun gefixed, aber aus irgendeinem unerfindlichen Grund crashed es noch immer. Versuche gerade herauszufinden wieso.
Dir ist aber auch kein andere Weg bekannt um das Makro von unten her laufen zu lassen, oder?
Übrigens herzlichen Dank für deine Hilfe, das ganze ist ziemlich mühsam, vielleicht muss ich doch alles irgendwie umbauen um es mit einem for "a to z" Loop zu machen.
Gruss
Franz
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige