Supportnet / Forum / Tabellenkalkulation
Excel - Mehrfache Einträge löschen über Makro
Frage
Hallo zusammen,
ich hab eine Tabelle, in der vielleicht mehrfache Einträge vorkommen, die über ein Makro gelöscht werden sollen.
Hab hier schon mal folgenden Tipp (siehe unten) bekommen, der auch ganz gut funktioniert. Problem ist nur, dass ich im Makro die genaue Anzahl der zu prüfenden Zeilen eingeben muß, die aber vorher nicht bekannt ist. Wenn ich z.B.
For Each c In ActiveSheet.Range("AY6:AY20000")
eingebe, und die Tabelle hat heute nur 15000 Zeilen, hängt sich das ganze auf . Wie kann ich den Loop auf die tatsächlich vorhandenen Zeilen begrenzen? Vielen Dank schon mal :-)
M FG
Andreas
hier mein Makro:
----------------------------------------------------------------------------
Dim c As Range
Dim alt As Variant
´Wert für alt aus der ersten Zelle des Suchbereichs auslesen
alt = ActiveSheet.Range("AY6").Value
´Suche in der zweiten Zelle beginnen, sonst wird schon die erste Zeile gelöscht
For Each c In ActiveSheet.Range("AY6:AY20000")
c.Select
Do While Selection.Value = alt
Selection.EntireRow.Delete Shift:=xlShiftUp
Loop
alt = Selection.Value
Debug.Print alt
Next
End Sub
Antwort 1 von piano
Hallo
folgendermaßen erhältst du die letze Zeile:
und dann:
usw.
Gruß piano
Es wäre nett, wenn Du ein Feedback abgeben könntest,
ob der Lösungsvorschlag Dein Problem gelöst hat.
- probieren geht über studieren -
folgendermaßen erhältst du die letze Zeile:
LetzteZeile = Range("AY65536").End(xlUp).Rowund dann:
For Each c In ActiveSheet.Range("AY1:AY" & LetzteZeile)usw.
Gruß piano
Es wäre nett, wenn Du ein Feedback abgeben könntest,
ob der Lösungsvorschlag Dein Problem gelöst hat.
- probieren geht über studieren -
Antwort 2 von andreas_3
Hallo pianoi :-)
vielen Dank für den Tipp, funktioniert prima :-))
Lg
Andreas
vielen Dank für den Tipp, funktioniert prima :-))
Lg
Andreas

