När du tar bort rader på det sättet så förflyttas underliggande rader uppåt vid varje borttag, vilket innebär att om du har 1930 i a3 och a4 så tas rad 3 bort och rad 4 blir rad 3. Rad4 tas således inte bort. Antingen så gör du en union:
Dim rngunion as range
Dim cell as range
For each cell in range("a2:a2000")
If cell.value2 = 1930 then
If not rngunion is Nothing
Set rngunion = union(rngunion, cell)
Else
Set rngunion = cell
End if
End if
Rngunion.entirerow.delete
Otestat, men fungerar om inte unionen blir för många delar och går väldigt mycket snabbare.
Annars så får du loopa baklänges
Dim looprange as range
For i = looprange.count to 1 step -1
If blabla
Range("a" & i +1).entirerow.delete
Next i
Dubbelkolla att I +1 ger dig 2000 i första loopen, beror på om rng.count 0 indexeras eller inte..
Mvh
Christian