Prøv i en kopi:
Public Function FindNextTomme(ByVal rCell As Range) As Range
'Finder første tomme celle nedad i en kolonne.
On Error GoTo ErrorHandle
With rCell
'Hvis udgangscellen er tom, er det den første tomme celle.
If Len(.Formula) = 0 Then
Set FindNextTomme = rCell
'Hvis cellen lige under udgangscellen er tom
ElseIf Len(.Offset(1, 0).Formula) = 0 Then
Set FindNextTomme = .Offset(1, 0)
Else
'Finder cellen efter sidste celle med indhold.
'.End(xlDown) svarer til at trykke CTRL + pil ned.
Set FindNextTomme = .End(xlDown).Offset(1, 0)
End If
End With
Exit Function
ErrorHandle:
MsgBox Err.Description & ", Function FindNextTomme."
End Function
Sub Udfyld_Tomme_Celler()
sidsteRækkeKolonneB = Range("B" & Rows.Count).End(xlUp).Row
UdfyldtKolonneA = Application.counta(Range("A2:A" & sidsteRækkeKolonneB))
For Each cell In Range("A2:A" & sidsteRækkeKolonneB - UdfyldtKolonneA)
'Vi kalder funktionen og siger, at den skal starte
'søgningen i celle A2.
Set TomCelle = FindNextTomme(Range("A2"))
'Indsætter formel
TomCelle.FormulaR1C1 = "=R[-1]C"
'Tekst farve rød
TomCelle.Font.Color = vbRed
Next
'Rangevariabler bør sættes til Nothing, når de
'er brugt. Ellers kan de bruge hukommelse.
Set TomCelle = Nothing
End Sub