Hallo Hans,
das liegt meines Erachtens nach an der Art der Schleife, die Du verwendest, da durch das Lsöchen immer iene Zeile übersprungen wird. Mach das mal mit einer For-/Next-Schleife und gehe von 400 immer einen Schritt rückwärts. Das Makro dazu müsste dann wie folgt aussehen.
Kopiere das Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche
Teste das Makro aber bitte in einer Testdatei und nicht gleich in Deiner Originaldatei.
Option Explicit
Sub zeilen_loeschen()
Dim intRow As Integer
Application.ScreenUpdating = False
For intRow = 400 To 1 Step -1
If Not Cells(intRow, 1).Value Like "*<option value = *" Then Rows(intRow).EntireRow.Delete
Next
End Sub
MfG,
Oliver
[sup]Jeder macht was er will, keiner macht was er soll, aber alle machen mit.[/sup]