В этой статье я расскажу, как можно редактировать макрос, записанный с помощью команды "Запись макроса...".

Файлы для скачивания:
ФайлОписаниеРазмер файла:Скачивания
Скачать этот файл (P_Macros_02.zip)Пример 11 Кб1634

Давайте возьмем файл с предварительно записанным макросом или запишем новый макрос, как это сделать описано в статье "Как записать макрос не зная языка VBA?".

Напомню, мы записывали макрос, который копирует данные из диапазона ячеек E2:E6, и вставляет их как значения в ячейки G2:G6. Допустим, у нас увеличился диапазон копирования и теперь нам нужно копировать данные из диапазона E2:E10, не переписывать же из-за этого макрос. Нам будет достаточно его отредактировать.

Итак, давайте откроем наш файл с записанным макросом, нажмем сочетания клавиш Alt+F8, должно будет открыться диалоговое окно макрос:

kak-otredaktirovat-zapisannyj-makros_2.png

В данном окне мы выбираем наш макрос "Макрос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

После чего наш макрос будет копировать данные уже из нового диапазона.

Добавить комментарий