Quando você exclui linhas em um loop, é melhor fazer um loop para trás. Dessa forma, o contador de loop interno não fica confuso. Sempre, sempre, sempre faça um backup de seus dados antes de executar o código da Internet que exclui coisas.
Sub DeleteRows()
Dim i As Long
Dim rng As Range
Set rng = Intersect(ActiveSheet.UsedRange, ActiveSheet.Columns(1))
For i = rng.Count To 1 Step -1
If rng.Cells(i).Value Like "..-*" Then
rng.Cells(i).EntireRow.Delete
ElseIf rng.Cells(i).Value Like ".-*" Then
rng.Cells(i).Value = Replace(rng.Cells(i).Value, ".-", "", 1, 1)
End If
Next i
End Sub