Вы можете сделать это, используя встроенные функции Excel или VBA
Как вы и просили VBA.
Код VBA:
Sub fill2()
Dim evalRange As Range
Set evalRange = Application.InputBox("Range here", Type:=8)
On Error Resume Next
evalRange.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
On Error GoTo 0
End Sub
Собственные функции Excel:
- Выберите диапазон
- Нажмите: клавиша F5
- Нажмите: Специальный
- Выберите: Пробелы
- Тип:
=
- Выберите ячейку выше с помощью мыши
- Нажмите: Ctrl + Enter