Как изменить имя макроса в excel

Перейти к содержанию

Переименование макроса

На чтение 1 мин. Просмотров 58 Опубликовано 13.05.2021

Макрос – это не что иное, как последовательность инструкций, которые компьютер должен выполнить. Это программа, которая запускается в контексте используемого вами приложения. При создании макросов вы, вероятно, столкнетесь с необходимостью переименовать некоторые из существующих макросов. Для этого выполните следующие действия:

  1. Нажмите Alt + F8 , чтобы открыть диалоговое окно «Макросы».
  2. В отображаемом списке макросов выберите тот, который хотите переименовать.
  3. Нажмите «Изменить». Откроется редактор VBA с видимым кодом для выбранного макроса.
  4. Вверху макроса находится ключевое слово «Sub», за которым следует имя макроса, а затем пара круглых скобок.
  5. Измените имя макроса по желанию, но оставьте там «Sub» и круглые скобки.
  6. Закройте редактор VBA.

Помните, что если вы переименуете макрос, вам может потребоваться внести и другие изменения. Например, если у вас есть ссылка на макрос (вызываемый) из другого макроса, вам нужно изменить этот другой макрос, чтобы отразить имя, которое вы только что изменили. Если на макрос также есть ссылки в кнопках панели инструментов или в меню, вам также необходимо будет внести в них изменения, чтобы отразить новое имя.

Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

Чтобы изменить макрос, прикрепленный к книге Microsoft Excel, используйте редактор Visual Basic.

Важно: Для работы с макросами необходимо включить вкладку Разработчик. Дополнительные сведения см. в статье Отображение вкладки «Разработчик».

Изменение параметров безопасности макросов

Чтобы редактировать и запускать макрос, необходимо установить уровень безопасности, чтобы временно включить все макрос.

  1. На вкладке Разработчик в группе Код выберите элемент Безопасность макросов.

    Группа "Код" на вкладке "Разработчик"

  2. В группе Параметры макросов выберите переключатель Включить все макросы (не рекомендуется, возможен запуск опасной программы), а затем дважды нажмите кнопку ОК.

    Предупреждение: Чтобы предотвратить запуск потенциально опасного кода, мы рекомендуем вернуться к любому параметру, который отключает все макросы после завершения работы с макросами.

Редактирование макроса

  1. На вкладке Разработчик в группе Код нажмите кнопку Макросы.

  2. В поле Имя макроса выберите макрос, который вы хотите изменить.

  3. и нажмите кнопку Изменить. Откроется редактор Visual Basic.

Совет: Чтобы получить справку во время работы в редакторе Visual Basic, в меню Справка выберите Microsoft Visual Basic Справкаили нажмите F1.

Нужна дополнительная помощь?

Вы узнали, как писать код макроса в редакторе VBA из предыдущей главы. Вы можете редактировать код макроса, переименовывать макрос и удалять макрос.

Если вы осваиваете Excel VBA, написание кода или изменение кода для макроса – тривиальная задача. Вы можете редактировать код макроса, как хотите. Если вы хотите внести всего несколько простых изменений в код макроса, вы можете даже скопировать код макроса из одного места в другое.

Копирование макроса

Вы создали два макроса – MyFirstMacro и Button1_Click в рабочей книге с поддержкой макросов MyFirstMacro.xlsm. Вы создали первый макрос, записав шаги, а второй макрос написав код. Вы можете скопировать код из первого макроса во второй макрос.

  • Откройте книгу MyFirstMacro.xlsm.

  • Перейдите на вкладку «Разработчик» на ленте.

  • Нажмите Visual Basic. Откроется редактор Visual Basic.

  • Откройте код для Module1 (код макроса MyFirstMacro) и Module2 (код макроса Button1_Click ()).

  • Перейдите на вкладку «Окно» на ленте.

  • Выберите Tile Horizontally из выпадающего списка.

Откройте книгу MyFirstMacro.xlsm.

Перейдите на вкладку «Разработчик» на ленте.

Нажмите Visual Basic. Откроется редактор Visual Basic.

Откройте код для Module1 (код макроса MyFirstMacro) и Module2 (код макроса Button1_Click ()).

Перейдите на вкладку «Окно» на ленте.

Выберите Tile Horizontally из выпадающего списка.

Вы можете просмотреть код двух макросов в плиточных окнах.

копирование

  • Скопируйте строку MsgBox в коде Module2.

  • Вставьте его выше этой линии.

  • Изменить строку как –

    MsgBox «Привет, мир!»

  • Скопируйте следующий код из Module1.

Скопируйте строку MsgBox в коде Module2.

Вставьте его выше этой линии.

Изменить строку как –

MsgBox «Привет, мир!»

Скопируйте следующий код из Module1.

Скопировать код

Вставьте его в код Module2 между двумя строками кода MsgBox.

MsgBox

  • Нажмите значок Сохранить, чтобы сохранить код.

  • Нажмите кнопку на листе Excel. Появится окно сообщения с сообщением – Hello World! Нажмите ОК.

Нажмите значок Сохранить, чтобы сохранить код.

Нажмите кнопку на листе Excel. Появится окно сообщения с сообщением – Hello World! Нажмите ОК.

Привет, мир

Появятся данные таблицы (в соответствии с кодом, который вы скопировали), и появится окно с сообщением – С наилучшими пожеланиями!

Данные таблицы

Вы можете изменить код всего за несколько шагов. Это самая простая задача для начинающего.

Переименование макроса

Предположим, что вы хотите запустить отредактированный макрос с любого рабочего листа, кроме того, который имеет командную кнопку. Вы можете сделать это независимо от нажатия кнопки, переименовав макрос.

  • Нажмите вкладку VIEW на ленте.
  • Нажмите Макросы.
  • Выберите View Macros из выпадающего списка.

Откроется диалоговое окно «Макрос».

  • Нажмите имя макроса – Button1_Click.
  • Нажмите кнопку Изменить.

Переименование макроса

Код макроса появляется в редакторе VBA.

Измените имя, отображаемое в строке Sub, с Button1_Click на RenamedMacro. Оставьте Sub и круглые скобки как они есть.

RenamedMacro

Откройте диалоговое окно «Макрос». Имя макроса отображается при переименовании.

Открыть макрос

  • Нажмите RenamedMacro.
  • Нажмите кнопку «Выполнить». Макрос работает. Теперь нажатие кнопки не требуется.

Удаление макроса

Вы можете удалить макрос, который вы записали или закодировали.

  • Откройте диалоговое окно «Макросы».
  • Нажмите на имя макроса.
  • Нажмите кнопку Удалить.

Удаление макроса

Появится сообщение с подтверждением удаления .

Подтвердить удаление

Нажмите Да, если вы уверены, что хотите удалить макрос. В противном случае нажмите Нет.


You have learnt how to write macro code in VBA editor in the previous chapter. You can edit the macro code, rename a macro and delete a macro.

If you master Excel VBA, writing code or modifying code for a macro is a trivial task. You can edit the macro code however you want. If you want to make only few simple changes in the macro code, you can even copy macro code from one place to another.

Copying a Macro Code

You have created two macros – MyFirstMacro and Button1_Click in the macro enabled workbook MyFirstMacro.xlsm. You have created the first macro by recording the steps and the second macro by writing code. You can copy code from the first macro into the second macro.

  • Open the workbook MyFirstMacro.xlsm.

  • Click the Developer tab on the Ribbon.

  • Click Visual Basic. The Visual Basic editor opens.

  • Open the code for Module1 (MyFirstMacro macro code) and Module2 (Button1_Click () macro code).

  • Click the Window tab on the Ribbon.

  • Select Tile Horizontally from the dropdown list.

You can view the code of the two macros in the tiled windows.

Copying

  • Copy the MsgBox line in the Module2 code.

  • Paste it above that line.

  • Modify the string as −

    MsgBox “Hello World!”

  • Copy the following code from Module1.

Copy Code

Paste it in the Module2 code in between the two MsgBox lines of code.

MsgBox

  • Click the Save icon to save the code.

  • Click the Button in the Excel sheet. A Message box appears with the message — Hello World! Click OK.

Hello World

The table data appears (according to the code that you copied) and message box appears with message — Best Wishes to You!

Table Data

You can modify the code in just a few steps. This is the easiest task for a beginner.

Renaming a Macro

Suppose you want to run the edited macro from any worksheet other than the one that has the command button. You can do it irrespective of button click by renaming the macro.

  • Click the VIEW tab on the Ribbon.
  • Click Macros.
  • Select View Macros from the dropdown list.

The Macro dialog box appears.

  • Click the macro name – Button1_Click.
  • Click the Edit button.

Renaming Macro

The macro code appears in the VBA editor.

Change the name that appears in the Sub line from Button1_Click to RenamedMacro. Leave Sub and parenthesis as they are.

RenamedMacro

Open the Macro dialog box. The macro name appears as you renamed.

Open Macro

  • Click RenamedMacro.
  • Click the Run button. The macro runs. Now a button click is not necessary.

Deleting a Macro

You can delete a macro that you have recorded or coded.

  • Open the Macros dialog box.
  • Click the macro name.
  • Click the Delete button.

Deleting Macro

The Delete confirmation message appears.

Delete Confirmation

Click Yes if you are sure to delete the macro. Otherwise, click No.

Изменить наименование макроса или объединить действующий

lebensvoll

Дата: Пятница, 07.09.2018, 09:57 |
Сообщение № 1

Группа: Проверенные

Ранг: Старожил

Сообщений: 1002


Репутация:

30

±

Замечаний:
0% ±


Excel 2010

Добрейшего Вам утра!!!
Уважаемые форумчане, прошу Вас помочь решить вопрос. Устал биться с девочками, вносят правки и изменения. На вопрос КТО!??? ЭТО НЕ Я ((((
Файл лежит на СЕРВЕРЕ в данном файле есть макрос:
[vba]

Код

    Private Sub Worksheet_Change(ByVal Target As Range)

    Dim lReply As Long
    If Target.Cells.Count > 1 Then Exit Sub

        If Not Intersect(Target, Range(«E5:E10000»)) Is Nothing Then
        If IsEmpty(Target) Then Exit Sub
            If WorksheetFunction.CountIf(Sheets(«Контрагент»).Range(«Контрагент»), Target) = 0 Then
                lReply = MsgBox(«Добавить нового КОНТРАГЕНТА » & Target & » в выпадающий список?», vbYesNo + vbQuestion)
                    If lReply = vbYes Then
                        Worksheets(«Контрагент»).Range(«Контрагент»).Cells(Worksheets(«Контрагент»).Range(«Контрагент»).Rows.Count + 1, 1) = Target
                        Sheets(«Контрагент»).Range(«B1:B1000»).Sort Key1:=Sheets(«Контрагент»).Range(«B2»), Order1:=xlAscending, Header:=xlGuess, _
                            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
                            DataOption1:=xlSortNormal ‘этот код и поможет отсортировать в алфавитном порядке
                    End If
            End If
    End If

        If Not Intersect(Target, Range(«G5:G10000»)) Is Nothing Then
        If IsEmpty(Target) Then Exit Sub
            If WorksheetFunction.CountIf(Sheets(«Продукция»).Range(«Продукция»), Target) = 0 Then
                lReply = MsgBox(«Добавить новую ПРОДУКЦИЮ » & Target & » в выпадающий список?», vbYesNo + vbQuestion)
                    If lReply = vbYes Then
                        Worksheets(«Продукция»).Range(«Продукция»).Cells(Worksheets(«Продукция»).Range(«Продукция»).Rows.Count + 1, 1) = Target
                        Sheets(«Продукция»).Range(«B1:B1000»).Sort Key1:=Sheets(«Продукция»).Range(«B2»), Order1:=xlAscending, Header:=xlGuess, _
                            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
                            DataOption1:=xlSortNormal ‘этот код и поможет отсортировать в алфавитном порядке
                    End If
            End If
    End If

    End Sub

[/vba]
Нашел на просторах ГУГЛА вот этот макрос:
[vba]

Код

Private Sub Worksheet_Change(ByVal Target As Range) ‘макрос отслживания изменений
Dim NewCellValue$, OldComment$
Dim cell As Range

         ‘если ячейка не в отслеживаемом диапазоне, то выходим
    If Intersect(Target, Range(«A5:S10000»)) Is Nothing Then Exit Sub

         ‘перебираем все ячейки в измененной области
    For Each cell In Intersect(Target, Range(«A5:S10000»))
        If IsEmpty(cell) Then
            NewCellValue = «Ячейка очищена» ‘фиксируем очистку ячейки
        Else
            NewCellValue = cell.Formula     ‘или ее содержимое
        End If
        On Error Resume Next

                 With cell
            OldComment = .Comment.Text & Chr(10)
            .Comment.Delete     ‘удаляем старое примечание (если было)
            .AddComment         ‘добавляем новое и вводим в него текст
            .Comment.Text Text:=OldComment & Application.UserName & » » & _
                            Format(Now, «MM.DD.YY h:MM:ss») & » : » & NewCellValue
            .Comment.Shape.TextFrame.AutoSize = True    ‘делаем автоподбор размера
            .Comment.Shape.TextFrame.Characters.Font.Size = 8
        End With
    Next cell
End Sub

[/vba]
Но КОД начинает ругаться на тот что уже имеется такой же КОД с таким же наименованием
[vba]

Код

Private Sub Worksheet_Change(ByVal Target As Range)

[/vba]
Как можно изменить второй код чтоб он начал работать на листе. Или возможно ли объединить два кода в одно, чтоб они не потеряли своей функциональности
Спасибо заранее за отзывчивость и помощь.


Кто бы ты ни был, мир в твоих руках

Сообщение отредактировал lebensvollПятница, 07.09.2018, 10:03

 

Ответить

_Boroda_

Дата: Пятница, 07.09.2018, 10:06 |
Сообщение № 2

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

Держите
Но это не очень хорошая идея. Впрочем, попробуйте сами и, когда не понравится, приходите


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

lebensvoll

Дата: Пятница, 07.09.2018, 10:13 |
Сообщение № 3

Группа: Проверенные

Ранг: Старожил

Сообщений: 1002


Репутация:

30

±

Замечаний:
0% ±


Excel 2010

_Boroda_, Александр!!!
А почему это плохая идея!? С чем связано это мнение!?
Так вроде бы работает…. Проверим на действие в работе «процессе»
Спасибо огромнейшее за ответ и помощь


Кто бы ты ни был, мир в твоих руках

Сообщение отредактировал lebensvollПятница, 07.09.2018, 10:19

 

Ответить

_Boroda_

Дата: Пятница, 07.09.2018, 10:14 |
Сообщение № 4

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

это не очень хорошая идея. Впрочем, попробуйте сами


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

ГЛАВНАЯ

ТРЕНИНГИ

   Быстрый старт
   Расширенный Excel
   Мастер Формул
   Прогнозирование
   Визуализация
   Макросы на VBA

КНИГИ

   Готовые решения
   Мастер Формул
   Скульптор данных

ВИДЕОУРОКИ

ПРИЕМЫ

   Бизнес-анализ
   Выпадающие списки
   Даты и время
   Диаграммы
   Диапазоны
   Дубликаты
   Защита данных
   Интернет, email
   Книги, листы
   Макросы
   Сводные таблицы
   Текст
   Форматирование
   Функции
   Всякое
PLEX

   Коротко
   Подробно
   Версии
   Вопрос-Ответ
   Скачать
   Купить

ПРОЕКТЫ

ОНЛАЙН-КУРСЫ

ФОРУМ

   Excel
   Работа
   PLEX

© Николай Павлов, Planetaexcel, 2006-2022
info@planetaexcel.ru


Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.

Техническая поддержка сайта

ООО «Планета Эксел»

ИНН 7735603520


ОГРН 1147746834949
        ИП Павлов Николай Владимирович
        ИНН 633015842586
        ОГРНИП 310633031600071 

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Как изменить имя легенды в excel
  • Как изменить имя кнопки в excel
  • Как изменить имя книги в excel
  • Как изменить имя документа ms word
  • Как изменить имя диапазону ячеек в excel

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии