В этой статье я расскажу, как можно редактировать макрос, записанный с помощью команды "Запись макроса...".
Давайте возьмем файл с предварительно записанным макросом или запишем новый макрос, как это сделать описано в статье "Как записать макрос не зная языка VBA?".
Напомню, мы записывали макрос, который копирует данные из диапазона ячеек E2:E6, и вставляет их как значения в ячейки G2:G6. Допустим, у нас увеличился диапазон копирования и теперь нам нужно копировать данные из диапазона E2:E10, не переписывать же из-за этого макрос. Нам будет достаточно его отредактировать.
Итак, давайте откроем наш файл с записанным макросом, нажмем сочетания клавиш Alt+F8, должно будет открыться диалоговое окно макрос:

В данном окне мы выбираем наш макрос "Макрос1" и нажимаем кнопку "Изменить", откроется окно редактора Visual Basic for Application, в котором мы увидим VBA-код нашего макроса:

Нам необходимо перейти курсором в окно кода и поменять в строке кода Range("E2:E6").Select на Range("E2:E10").Select и закрыть редактор, после чего сохранить файл.
Sub Макрос1()
'
' Макрос1 Макрос
'
'
Range("E2:E6").Select 'Надо поменять данные в этой строке
Selection.Copy
Range("G2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Sub Макрос1()
'
' Макрос1 Макрос
'
'
Range("E2:E10").Select 'Вместо ("E2:E6") написать ("E2:E10")
Selection.Copy
Range("G2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
После чего наш макрос будет копировать данные уже из нового диапазона.