Excel VBA - Добавление кода в книгу Excel

  1. Скопируйте код Excel VBA в обычный модуль
  2. Скопируйте код Excel VBA в обычный модуль
  3. Чтобы запустить код:
  4. Скопируйте код Excel VBA в модуль рабочей книги
  5. Копировать код Excel VBA из другой книги
  6. Копировать код Excel VBA из другой книги
  7. Чтобы запустить код:
  8. Включить макросы при открытии файла
  9. Проверьте настройки безопасности вашего макроса
  10. Запустите макрос Excel
  11. Изменить скопированный код Excel VBA
  12. Проверьте названия листов и диапазоны
  13. Добавить и назвать объекты
  14. Укажите целевые столбцы или строки
  15. Получить образец файла
  16. Связанные учебники

Советы по копированию кода VBA в рабочую книгу и проверке кода, чтобы убедиться, что он работает без ошибок.

Скопируйте код Excel VBA в обычный модуль

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

Скопируйте код Excel VBA в обычный модуль

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

  1. Скопируйте пример кода, который вы хотите использовать
  2. Откройте книгу, в которую вы хотите добавить код
  3. Удерживайте клавишу Alt и нажмите клавишу F11, чтобы открыть редактор Visual Basic
  4. Выберите Вставить | модуль
  5. Там, где курсор мигает, выберите «Редактировать | Вставить

Скопируйте пример кода, который вы хотите использовать   Откройте книгу, в которую вы хотите добавить код   Удерживайте клавишу Alt и нажмите клавишу F11, чтобы открыть редактор Visual Basic   Выберите Вставить |  модуль   Там, где курсор мигает, выберите «Редактировать |  Вставить

Чтобы запустить код:

  1. На ленте Excel перейдите на вкладку Вид
  2. В крайнем правом углу нажмите Макросы
  3. Выберите макрос в списке и нажмите кнопку «Выполнить»

Скопируйте код Excel VBA в модуль рабочего листа

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

Код события рабочего листа хранится в модуле рабочего листа. Чтобы добавить код события рабочего листа в свой рабочий лист, сделайте следующее:

  1. Скопируйте код, который вы хотите использовать
  2. Выберите лист, в котором вы код для запуска
  3. Щелкните правой кнопкой мыши вкладку листа и выберите « Просмотреть код» , чтобы открыть редактор Visual Basic.

    Просмотреть код»

  4. Там, где курсор мигает, выберите «Редактировать | Вставить

Скопируйте код Excel VBA в модуль рабочей книги

Другой тип кода - Код события рабочей книги, который следует добавить в модуль кода рабочей книги:

  1. Скопируйте код, который вы хотите использовать
  2. Выберите книгу, в которой вы хотите сохранить код
  3. Удерживайте клавишу Alt и нажмите клавишу F11, чтобы открыть редактор Visual Basic
  4. В Project Explorer найдите свою книгу и откройте список объектов Microsoft Excel.
  5. Щелкните правой кнопкой мыши объект ThisWorkbook и выберите «Просмотреть код».
  6. Там, где курсор мигает, выберите «Редактировать | Вставить

Там, где курсор мигает, выберите «Редактировать |  Вставить

Копировать код Excel VBA из другой книги

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

Копировать код Excel VBA из другой книги

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

  1. Откройте обе рабочие книги
  2. Удерживайте клавишу Alt и нажмите клавишу F11, чтобы открыть редактор Visual Basic
  3. В Project Explorer найдите вашу рабочую книгу и рабочую книгу с кодом, который вы хотите скопировать. Снимок экрана справа, код находится в VBACodeCopy.xls и будет скопирован в MyForm.xlsm
  4. В рабочей книге с кодом нажмите знак +, чтобы просмотреть список модулей.
  5. Нажмите на модуль, который вы хотите скопировать, и перетащите его на проект, в который вы хотите поместить копию.
  6. Отпустите кнопку мыши, и копия модуля появится в рабочей книге.

Отпустите кнопку мыши, и копия модуля появится в рабочей книге

Чтобы запустить код:

  1. На ленте Excel перейдите на вкладку Вид
  2. В крайнем правом углу нажмите Макросы
  3. Выберите макрос в списке и нажмите кнопку «Выполнить»

Разрешить запуск макросов в вашей книге

Чтобы использовать макросы в Excel, вам может потребоваться включить их при открытии файла. Если вы впервые используете макросы на текущем компьютере, вам также может потребоваться настроить параметры безопасности макросов.

Следуйте инструкциям ниже, чтобы внести эти изменения.

Включить макросы при открытии файла

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

  1. Нажмите кнопку «Параметры».
  2. Нажмите «Включить это содержимое», чтобы разрешить запуск макросов книги, и нажмите «ОК».

Проверьте настройки безопасности вашего макроса

Если вы раньше не запускали макросы, вам может потребоваться изменить уровень безопасности макросов. (Возможно, вам придется уточнить это в своем ИТ-отделе.)

  1. На ленте откройте вкладку «Разработчик» и в группе «Код» выберите «Безопасность макросов».
  • В категории «Параметры макроса» в разделе «Параметры макроса» нажмите «Отключить все макросы с уведомлением».
  • Нажмите ОК.
  • Если вы изменили настройку, закройте книгу, а затем снова откройте ее
  • Запустите макрос Excel

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

    Чтобы запустить макрос Excel:

    1. Скопируйте код макроса в модуль регулярного кода в вашем файле.
    2. Затем на вкладке «Вид ленты» нажмите верхнюю часть кнопки «Макрос», чтобы открыть окно макроса.
    3. В списке макросов нажмите на макрос, который вы хотите запустить
    4. Нажмите кнопку «Выполнить»

    В списке макросов нажмите на макрос, который вы хотите запустить   Нажмите кнопку «Выполнить»

    Изменить скопированный код Excel VBA

    Если вы копируете код VBA в файл Excel, вам может потребоваться внести изменения в имена объектов или другие параметры, чтобы код правильно работал в вашем файле. Перед запуском кода в вашем файле необходимо проверить три вещи:

    Проверьте названия листов и диапазоны

    Если в коде есть имена листов или ссылки на диапазоны, вы можете изменить их, чтобы они соответствовали вашей книге.

    • В коде найдите ссылки на «Рабочие листы» на «Листы» и измените их на имена листов в своей рабочей книге.
    • Также найдите ссылки «Range», например Range («A1: G100»), и скорректируйте их в соответствии с расположением ваших данных.

    Эти ссылки могут быть в верхней части процедуры, в операторе Set:

    Set ws = Worksheets ("SalesData")

    или в другом месте кода.

    Если вы запустите код без изменения ссылки, вы можете увидеть сообщение об ошибке: Ошибка времени выполнения '9': нижний индекс находится вне диапазона

    Если вы запустите код без изменения ссылки, вы можете увидеть сообщение об ошибке: Ошибка времени выполнения '9': нижний индекс находится вне диапазона

    Чтобы увидеть, в чем проблема, нажмите кнопку «Отладка», и строка кода будет выделена желтым цветом.

    Чтобы увидеть, в чем проблема, нажмите кнопку «Отладка», и строка кода будет выделена желтым цветом

    Чтобы остановить код, нажмите меню «Выполнить», затем нажмите «Сброс».

    Чтобы остановить код, нажмите меню «Выполнить», затем нажмите «Сброс»

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

    Добавить и назвать объекты

    Если код ссылается на объекты на листе, обязательно добавьте эти объекты в свою книгу и используйте правильное имя объекта в коде.

    Например, в коде для Поле со списком проверки данных , вам нужно добавить поле со списком на лист, и назовите его как TempCombo. Или, если ваше поле со списком имеет другое имя, измените ссылки на код для соответствия.

    Или, если ваше поле со списком имеет другое имя, измените ссылки на код для соответствия

    Укажите целевые столбцы или строки

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

    ПРИМЕЧАНИЕ. Во всех этих примерах вы можете использовать строку вместо столбца , чтобы ограничить цель конкретными строками.

    A) Если вы хотите, чтобы код выполнялся при изменении ячейки в столбце E в вашей книге, вы можете изменить 3 на 5.

    If Target.Column = 5 Тогда

    Б) Или добавьте больше столбцов в коде. Например:

    Если Target.Column = 3 _ или Target.Column = 5 _ или Target.Column = 6, то

    C) Если вы не хотите ограничивать код конкретным столбцом, вы можете удалить две строки (If ... End If), отмеченные красными кружками. В этом случае код будет выполняться для изменения в каждом столбце.

    D) Если вы хотите, чтобы код выполнялся для любого столбца, КРОМЕ конкретного столбца, используйте оператор Not Equal To - <> - вместо знака равенства. Например:

    If Target.Column <> 3 The

    Получить образец файла

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

    Связанные учебники

    Excel VBA Начало работы

    Часто задаваемые вопросы, Excel VBA, Excel Macros

    Создать пользовательскую форму Excel

    Пользовательская форма с ComboBox

    Редактировать записанный макрос

    Редактировать записанный макрос