Mit bud
Option Explicit
Dim ws As Worksheet
Dim rColumn As Range
Dim vArray As Variant, newArray As Variant
Dim i As Integer, iCount As Integer
Public Sub SletRaekker()
Set ws = Sheets("Ark1") ' giver ws arknavnet
Set rColumn = ws.Range("E1")
Set rColumn = Range(rColumn, ws.Range("E10000").End(xlUp)) ' tildeler rColumn E1 ned til sidste E-celle med indhold (max række 10.000)
vArray = rColumn.Value ' overfører rColumn til en hukommelses tabel
'Finder ud af hvormange rækker der indeholder negative tal
For iCount = 1 To UBound(vArray)
If vArray(iCount, 1) < 0 Then i = i + 1
Next
If i = 0 Then Exit Sub ' slutter makroen hvis der ingen negavive tal er
' sætter størelsen på newArray til 1 til antallet af negative tal
ReDim newArray(1 To i)
i = 1
'tildeler rækkenumre til newArray
For iCount = UBound(vArray) To 1 Step -1
If vArray(iCount, 1) < 0 Then
newArray(i) = iCount
i = i + 1
End If
Next
i = i - 1
' bruger de rækkenumre som står i newArray til at slette dem
For iCount = 1 To i
Rows(newArray(iCount) & ":" & newArray(iCount)).Delete shift:=xlUp
Next
End Sub
Jan