mit nachfolgendem Code lösche ich ab einer bestimmten Zeile jede x-te Zeile, wenn Spalte A belegt ist.
Sub Jede_X_te_Zeile_loeschen() Dim Zeile1, x Application.ScreenUpdating = False Zeile1 = Val(InputBox("Spalte A muss belegt sein !!" & vbCr & _ "Beginn in Zeile?", _ "Zeilen löschen")) x = Val(InputBox("Jede wievielte?")) Do While Not (IsEmpty(Cells(Zeile1, 1))) Rows(Zeile1).Delete Zeile1 = Zeile1 + x - 1 Loop Application.ScreenUpdating = True End Sub Ich möchte dies jetzt nicht mehr auf Spalte A prüfen ob belegt, sondern generell jede x-te Zeile ab der vorgegebenen Zeile aus der ersten Inputbox.
Wenn ich aber jetzt den Code ...While Not (IsEmpty(Cells(Zeile1, 1)))... entferne dauert das ewig, da vermutlich alle Zellen bis Zeile 1.048.576 durchsucht werden?!
Wie kann der Code geändert werden, damit ohne Bezug auf Spalte A nur bis zur maximal belegten Zelle (z. B.: Cells.SpecialCells(xlCellTypeLastCell).Row) der Code läuft?
Grüße - Erwin