Sub Extract_Negatives()
Dim a As Variant, b As Variant
Dim i As Long, k As Long
Sheets("Data").Copy After:=Sheets("Data") '<- Edit sheet name as required
With Sheets(Sheets("Data").Index + 1)
a = .Range("X2", .Range("X" & Rows.Count).End(xlUp)).Value
ReDim b(1 To UBound(a), 1 To 1)
For i = 1 To UBound(a)
If a(i, 1) >= 0 Then
b(i, 1) = 1
k = k + 1
End If
Next i
If k > 0 Then
Application.ScreenUpdating = False
With .Range("A2:Y2").Resize(UBound(a))
.Columns(25).Value = b
.Sort Key1:=.Columns(25), Order1:=xlAscending, Header:=xlNo
.Resize(k).EntireRow.Delete
End With
Application.ScreenUpdating = True
End If
End With
End Sub