Как в Excel 2010 или 2013 вставить и запустить код VBA – руководство для начинающих
Это краткое пошаговое руководство предназначено для начинающих и объясняет, как вставить код VBA (Visual Basic для приложений) в книгу Excel и как запустить вставленный макрос для выполнения различных задач на листе.
Большинство пользователей не являются гуру Microsoft Office. Они могут не знать всех тонкостей конкретной функции и не смогут ответить на вопрос, чем отличается скорость выполнения макроса VBA в Excel 2010 и 2013. Многие просто используют Excel в качестве инструмента обработки данных.
Предположим, вы хотите изменить данные на листе Excel определенным образом. Мы много искали в Google и нашли макрос VBA, который решает эту проблему. Однако мы плохо знаем VBA. Здесь на помощь приходят пошаговые инструкции, с помощью которых мы можем использовать найденный код.
Вставляем код VBA в книгу Excel
В этом примере мы будем использовать макрос VBA, который удаляет разрывы строк из ячеек текущего листа Excel.
-
- Открытие книги в Excel.
- Нажмите Alt + F11, чтобы открыть окно редактора Visual Basic
- На панели Project-VBA Project щелкните правой кнопкой мыши имя книги (в верхнем левом углу окна редактора) и выберите «Вставить»> «Модуль» в контекстном меню.
- Скопируйте код VBA (с веб-страницы или другого источника) и вставьте его в правую панель редактора VBA (окно Module1).Совет: как увеличить скорость выполнения макросов?
В начале вашего макрокода VBA должны быть строки:
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManualЕсли таких строк нет, обязательно добавьте следующие строки в свой макрос, чтобы он работал быстрее (см. Изображение выше):
- В начале кода после всех строк, начинающихся с Dim (если нет строк, начинающихся с Dim, вставьте его сразу после строки Sub):
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
В конце кода перед End Sub:Application.ScreenUpdating = True
Application.Calculation = xlAutomaticCalculationЭти строки, как вы можете понять по их содержимому, отключают обновление экрана и пересчет формул книги перед запуском макроса. После запуска кода эти параметры снова активируются. Этот прием приводит к ускорению выполнения макроса с 10% до 500% (да, макрос может работать в 5 раз быстрее, если есть манипуляции с ячейками без лишних перерывов).
- Давайте сохраним книгу как книгу Excel с поддержкой макросов. Для этого нажмите Ctrl + S и в окне с предупреждением Следующие функции нельзя сохранить в книге без макросов, нажмите Нет).Откроется диалоговое окно «Сохранить как». В раскрывающемся списке Тип файла выберите книгу Excel с поддержкой макросов и нажмите кнопку Сохранить).
- Нажмите Alt + Q, чтобы закрыть окно редактора VBA и вернуться в книгу Excel.
Запускаем макрос VBA в Excel
Нажмите Alt + F8, чтобы запустить только что добавленный макрос. Откроется диалоговое окно «Макрос». В списке «Имя макроса» выберите нужный макрос и нажмите кнопку «Выполнить).
VBA Excel. Начинаем программировать с нуля
Ваше первое знакомство с редактором Excel VBA, созданием процедур (подпрограмм) и написанием простейшего кода, который работает с переменными и ячейками на листе.
Знакомство с редактором VBA
- Создайте новую книгу Excel и сохраните ее как книгу с поддержкой макросов с расширением .xlsm. В предыдущих версиях Excel до 2003 года это была обычная книга с расширением .xls.
- Нажмите сочетание клавиш «left_Alt_key + F11», чтобы открыть редактор VBA. Этот трюк не сработает с правой клавишей Alt. Вы также можете получить доступ к редактору VBA, щелкнув ссылку «Visual Basic» на панели инструментов «Разработчик» на панели быстрого доступа. Если вкладки «Разработчик» нет на ленте, вам необходимо добавить ее в настройках параметров Excel.
В левой части редактора VBA находится Project Explorer, в котором отображаются все открытые книги Excel. Верхняя строчка, как на картинке, скорее всего у вас не будет, так как это личная книга макросов. Справа — модуль, в котором написаны процедуры (подпрограммы) с кодом VBA. На изображении открыт модуль листа, но дальше мы создадим стандартный программный модуль.
- Нажмите кнопку «Модуль» на вкладке «Вставка» в главном меню. То же подменю откроется, когда вы нажмете вторую кнопку после значка Excel на панели инструментов.
После нажатия на кнопку «Форма» вы увидите ссылку на нее, появившуюся в проводнике слева.
Первая программа на VBA Excel
Добавим в стандартный модуль шаблон процедуры — его начальную и конечную строки, между которыми мы напишем нашу первую программу (процедуру, подпрограмму).
- Откройте стандартную форму, дважды щелкнув ее ссылку в проводнике. Поместите в него курсор и нажмите кнопку «Процедура…» на вкладке «Вставить» главного меню. Эта же ссылка будет доступна, когда вы нажмете вторую кнопку после значка Excel на панели инструментов.
В результате откроется окно для добавления шаблона процедуры (Sub).
- Введите имя процедуры в поле «Имя»: «Primer1» или скопируйте его отсюда и вставьте в поле «Имя». Нажмите кнопку ОК, чтобы добавить в форму первую и последнюю строки процедуры.
Название процедуры может быть написано как латиницей, так и кириллицей, может содержать цифры и знак подчеркивания. Он должен начинаться с буквы и не содержать пробелов, вместо которых должен использоваться символ подчеркивания.
- Вставьте следующую строку в шаблон процедуры: MsgBox «Hello” .
Функция MsgBox отображает информационное сообщение с указанным текстом. В нашем примере это «Привет».
- Убедитесь, что курсор находится внутри процедуры, и выполните ее, нажав клавишу «F5». Кроме того, вы можете запустить процедуру, щелкнув треугольник (на изображении под пунктом меню «Отладка») или кнопку «Запустить Sub / UserForm» на вкладке «Выполнить» главного меню редактора Excel VBA.
Если вы видели сообщение, подобное изображенному на картинке, поздравляем — вы написали свою первую программу!