1. Löschung der 11 Zeilen soll ab Zeile 50-61 sein.
2. Löschung der 11 Zeilen soll ab Zeile 114 - 125 sein
und jeweils weiter mit 53 Zeilen überlesen und dann 11 Zeilen löschen u.s.w.
das läßt sich mit einem Makro ohne Probleme machen, aber wenn es ums Löschen geht macht man das besser von unten nach oben. Deswegen die Nachfrage, sind die "Datenpakete" so strukturiert, dass die Tabelle mit 11 zu löschenden Zeilen endet?
Gruß
Peter
ad 1: sorry, Peter, wenn ich mich da einmische - ich überlasse dir auch gleich wieder das Feld.
ad 2: Peter hat natürlich recht, wenn er sagt, dass man per Makro die Zeilen in einer Tabelle am besten von unten nach oben durchläuft - dem hab ich auch nichts hinzuzufügen.
ad 3: Gisela, wenn du 29299 Zeilen hast und dies jeweils Blöcke von 53+12, also Blöcke à 65 Zeilen sind ergibt dies nach Adam Riese 450 Blöcke und ein Rest von 49 Zeilen. Dein erster Block hat aber 56 Zeilen (44+12). Auf was ich raus will: Dein Schema (53+12) scheint nicht unbedingt zu passen. Gibt es denn eine Gemeinsamkeit all jener Zeilen, die gelöscht werden sollen? (Bsp: in Spalte A steht in allen zu löschenden Zeilen eine 1)
Gruß
Christoph
als Versuch von oben nach unten zu löschen (trotz der berechtigten Anmerkungen von Christoph):
Gruß
Peter
Wenn ich dich richtig verstanden habe, sollen alle Zeilen gelöscht werden, in denen in SpalteA kein Eintrag mit 8 oder mehr Stellen steht (unabhängig von Zahl oder Text). Dann gilt folgende Lösung:
gebe in eine unbenutzte Spalte (z.B. Spalte J)in die erste Zeile (J1) folgende Formel ein: =WENN(LÄNGE(A1)>=8;"x";"")
Diese Formel ziehst du per Maus runter bis zum Ende.
Anschließend startest du ein Makro mit folgedem Inhalt:
Sub Leere_Zeilen_Loeschen()
'' Dieses Makro löscht alle Zeilen, in denen
'' in Spalte 10(also Spalte J) eine Leerzelle ist
'' Variablendeklaration
Dim lR%, i%
lR = Cells(Rows.Count, 1).End(xlUp).Row
For i = lR To 1 Step -1
If IsEmpty(Cells(i, 10)) Then
Rows(i).Delete
End If
Next i
End Sub
Wenn du die Formel in Spalte K (also Spalte 11) eingeben hast, musst du die Zeile "If IsEmpty(Cells(i, 10)) Then" durch "If IsEmpty(Cells(i, 11)) Then" ersetzten, etc.
probiers mal aus, es funktioniert
Gruß
Christoph