кострукция
цикл
Do while (сам определись до какого момента выполнять)
конструкция
if - Else (проверишь пуста или нет такая-то Range, Offset - сместишься)
н\п
Код:
Sub First ()
Dim EndWhile As Variant
Set EndWhile = Range("A1")
'цикл "пока выполняется условие", в данном случае проверяется адрес EndWhile
Do while EndWhile.Address <> "$C$4"
'проверка пустая ли ячейка
If EndWhile.value <> "" Then
'если нет то выбираем для проверки следующую
Set EndWhile = EndWhile.Offset(1,0)
Else
'если да, то что-то там ей присваиваем и переходим к следующей ячейке
EndWhile.Value = "что-то там"
Set EndWhile = EndWhile.Offset(1,0)
End If
Loop
...А вообще если задумались писать макросы, то для начала возьмитесь за учебник, для совсем новичка очень неплох
Уокенбах