Are all the cells where Cells(i + 9, 1).Value = Sletopg.Text simultaneous or are there likely to be cells where the condition is not met inbetween cells that contain sletopg.text?
You could possible do a count of the number of times sletopg.text appears in the range and then count down from this value everytime a row is deleted and then exit the for loop when count = 0.
Private Sub fjern_click()
count = WorksheetFunction.CountIf(Range(Cells(9, 1), Cells(509, 1)), sletopg.text)
For i = 500 To 0 Step -1
If Cells(i + 9, 1).Value = Sletopg.Text Then
Rows(i + 9).Select
Selection.delete Shift:=xlUp
count = count - 1
End If
If count = 0 then Exit For
Next i
End Sub
I don't think a do until loop round the outside wouldn't stop the for next loop exectuing to completion