Как создать макрос или скрипт VBA в Excel

Microsoft Excel позволяет пользователям автоматизировать функции и команды с помощью макросов и сценариев Visual Basic для приложений(Applications) ( VBA ). VBA — это язык программирования, который Excel(VBA is the programming language Excel) использует для создания макросов. Он также будет выполнять автоматические команды на основе определенных условий.

Макросы представляют собой набор предварительно записанных команд. Они запускаются автоматически при подаче определенной команды. Если у вас есть задачи в Microsoft Excel , которые вы постоянно выполняете, например бухгалтерский учет, управление проектами или расчет заработной платы, автоматизация этих процессов может сэкономить много времени.

На вкладке « Разработчик(Developer) » на ленте(Ribbon) в Excel пользователи могут записывать щелчки мыши и нажатия клавиш (макросы). Однако некоторые функции требуют более глубокого написания сценариев, чем могут предоставить макросы. Именно здесь сценарии VBA становятся огромным преимуществом. Это позволяет пользователям создавать более сложные сценарии.

В этой статье мы объясним следующее:

  • Включение скриптов и макросов
  • Как создать макрос в Excel
  • Конкретный пример макроса
  • Узнать больше о VBA
  • Создайте кнопку(Button) , чтобы начать работу с VBA
  • Добавьте код(Add Code) , чтобы придать кнопке функциональность(Button Functionality)
  • Это сработало?

Включение скриптов и макросов(Enabling Scripts & Macros)

Прежде чем вы сможете создавать макросы или сценарии VBA в (VBA)Excel , вы должны включить вкладку « Разработчик(Developer ) » в меню ленты . (Ribbon)Вкладка « Разработчик(Developer) » не включена по умолчанию. Чтобы включить его:

  • Откройте рабочий лист Excel.
  • Нажмите «Файл»(File ) > «Параметры( Options ) » > «Настроить ленту».( Customize Ribbon.)

  • Поставьте галочку в поле « Разработчик(Developer) » .

  • Нажмите на вкладку « Разработчик(Developer) » в меню ленты .(Ribbon)

  • Затем нажмите « Безопасность макросов(Macro Security) » и установите флажок « Включить все макросы» (не рекомендуется, может выполняться потенциально опасный код). (Enable all macros (not recommended; potentially dangerous code can run). )
  • Затем нажмите ОК.( OK.)

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

Убедитесь(Make) , что документ получен из надежного источника, если вы работаете над общим проектом в Excel и других программах Microsoft .

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

Создать макрос в Excel(Create a Macro in Excel)

Все действия, которые вы выполняете в Excel при записи макроса, добавляются в него. 

  • На вкладке «Разработчик» нажмите «Запись макроса»(Record Macro) .

  • Введите имя макроса(Macro name) , сочетание клавиш(Shortcut key) и описание. (Description. )Имена макросов(Macro) должны начинаться с буквы и не должны содержать пробелов. Горячая клавиша должна быть буквой.

Решите, где вы хотите сохранить макрос, из следующих вариантов:

  • Личная книга макросов(Personal Macro Workbook) : создаст скрытый документ Excel с сохраненными макросами, которые можно использовать с любыми документами Excel .
  • Новая рабочая книга(New Workbook) : создаст новый документ Excel для хранения созданных макросов.
  • Эта рабочая книга(This Workbook) : это будет применяться только к документу, который вы редактируете в данный момент.

Когда закончите, нажмите OK

  • Выполните(Run) действия, которые вы хотите автоматизировать. Когда вы закончите, нажмите «Остановить запись»(Stop Recording)
  • Когда вы хотите получить доступ к своему макросу, используйте сочетание клавиш, которое вы ему дали.

Конкретный пример макроса(Specific Example Of a Macro)

Давайте начнем с простой электронной таблицы для клиентов и того, сколько они должны. Мы начнем с создания макроса для форматирования рабочего листа.

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

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

Запись макроса(Record The Macro)

  • Нажмите «Записать макрос»(Record Macro) . Назовем его Format_Customer_Data и нажмем OK
  • Чтобы получить желаемое форматирование, мы изменим имя первого столбца на Имя(First Name)
  • Затем вставьте столбец рядом с A и назовите его Last Name
  • Выделите(Highlight) все имена в первом столбце (которые по-прежнему включают имя и фамилию) и нажмите « Данные(Data) » в навигационной ленте.
  • Нажмите «Текст в столбцы(Text to Columns) » .

  • Отметьте Разделители(Delimited) > Далее(Next ) > Разделить пробелом(Separate by Space) > Далее(Next ) > Готово(Finish) . Смотрите скриншот ниже и то, как имя и фамилия были разделены описанным выше процессом.

  • Чтобы отформатировать поле « Остаток(Balance Due) к оплате », выделите суммы. Нажмите(Click) « Главная»(Home ) > «Условное форматирование(Conditional Formatting) » > «Правила выделения ячеек»(Highlight Cell Rules) > «Больше(Greater Than ) > 0 » .

Это выделит ячейки, в которых есть остаток. Мы добавили несколько клиентов без баланса, чтобы проиллюстрировать форматирование.  

  • Вернитесь в раздел « Разработчик(Developer ) » и нажмите «Остановить запись»(Stop Recording) .

Применить макрос(Apply The Macro)

Давайте начнем с исходной электронной таблицы до того, как мы записали макрос для ее правильного форматирования. Нажмите(Click) « Макросы(Macros) », выберите и запустите(Run) только что созданный макрос.

Когда вы запускаете макрос, все форматирование выполняется за вас. Этот макрос, который мы только что создали, хранится в редакторе Visual Basic(Visual Basic Editor) .

Пользователи могут запускать макросы несколькими различными способами. Прочтите Запуск макроса(Run a macro) , чтобы узнать больше.  

Узнать больше о VBA(Learn More About VBA)

Чтобы узнать о VBA, нажмите « Макрос(Macro) » на вкладке « Разработчик ». (Developer)Найдите тот, который вы создали, и нажмите «Изменить».(Edit.)

Код, который вы видите в поле выше, был создан, когда вы записывали свой макрос. 

Это также то, что вы будете запускать, когда захотите отформатировать другие электронные таблицы платежей клиентов таким же образом.

Создайте кнопку, чтобы начать работу с VBA(Create a Button To Get Started With VBA)

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

  • Чтобы вставить элемент кнопки, перейдите на вкладку  « Разработчик ».(Developer )
  • Выберите « Кнопка управления ActiveX(ActiveX Command Button ) » в раскрывающемся списке рядом с « Вставить(Insert) » в разделе « Элементы управления(Controls) » .

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

  • Чтобы прикрепить код, щелкните правой кнопкой мыши на кнопке и выберите « Свойства(Properties) » . Мы сохраним имя(Name) как CommandButton и заголовок(Caption ) для преобразования( Convert ) (это текст кнопки).

Добавьте код, чтобы придать кнопке функциональность(Add Code To Give The Button Functionality)

Кодирование VBA(VBA) не происходит в интерфейсе Excel . Это делается в отдельной среде.  

  • Перейдите на вкладку « Разработчик(Developer) » и убедитесь, что режим «Дизайн»(Design Mode) активен.

  • Чтобы получить доступ к коду только что созданной кнопки, щелкните ее правой кнопкой мыши и выберите « Просмотр кода»(View Code) .

  • Глядя на код на снимке экрана ниже, обратите внимание, что начало ( Private Sub ) и конец ( End Sub ) кода уже есть.

  • Приведенный ниже код будет управлять процедурой конвертации валюты.

ActiveCell.Value = (ActiveCell * 1.28)

Наша цель в этом разделе — конвертировать валюту в нашей электронной таблице. Приведенный выше скрипт отражает обменный курс фунта стерлингов(GBP) к доллару США(USD) . Новое значение ячейки будет равно тому, что есть в данный момент, умноженному на 1,28.

На приведенном ниже снимке экрана показано, как код выглядит в окне VBA после его вставки.

  • Перейдите в « Файл»(File ) в верхней панели навигации и нажмите «Закрыть и вернуться в Microsoft Excel»(click on Close and Return to Microsoft Excel) , чтобы вернуться к основному интерфейсу Excel .

Это сработало?(Did It Work?)

Прежде чем вы сможете протестировать свой код, вы должны сначала отключить режим разработки(Design Mode) (щелкнуть по нему), чтобы избежать дальнейших изменений и обеспечить функциональность кнопки.

  • Введите(Type) любое число в электронную таблицу и нажмите кнопку « Преобразовать(Convert) ». Если значение вашего числа увеличивается примерно на четверть, это сработало.

В этом примере я поместил число 4 в ячейку. После нажатия Convert номер изменился на 5.12. Поскольку 4 раза по 1,28 равно 5,12, код был выполнен правильно.

Теперь, когда вы понимаете, как создать макрос или сценарий в Excel , вы можете использовать их для автоматизации множества действий в Excel .



About the author

Я разработчик бесплатного программного обеспечения и сторонник Windows Vista/7. Я написал несколько сотен статей на различные темы, связанные с операционной системой, включая советы и рекомендации, руководства по ремонту и рекомендации. Я также предлагаю консультационные услуги, связанные с офисом, через мою компанию Help Desk Services. Я хорошо понимаю, как работает Office 365, его функции и способы их наиболее эффективного использования.



Related posts