Программный код vba в excel: Начало работы с VBA в Office
Содержание
Как в Excel 2010 или 2013 вставить и запустить код VBA – руководство для начинающих
Перейти к содержанию
Search for:
Главная » Уроки MS Excel » Макросы (VBA)
Автор Антон Андронов На чтение 3 мин Опубликовано
Это краткое пошаговое руководство предназначено для начинающих пользователей и рассказывает о том, как вставлять код VBA (Visual Basic for Applications) в книгу Excel, и как запускать вставленный макрос для выполнения различных задач на этом листе.
Большинство пользователей не являются гуру Microsoft Office. Они могут не знать всех тонкостей работы той или иной функции, и не смогут ответить на вопрос, как отличается скорость выполнения макроса VBA в Excel 2010 и 2013. Многие просто используют Excel, как инструмент для обработки данных.
Предположим, нужно изменить данные на листе Excel определённым образом. Мы немало погуглили и нашли макрос VBA, который решает эту задачу. Однако, наше знание VBA оставляет желать лучшего. Вот тут-то и придёт на помощь пошаговая инструкция, с помощью которой мы сможем использовать найденный код.
- Вставляем код VBA в книгу Excel
- Запускаем макрос VBA в Excel
Вставляем код VBA в книгу Excel
В этом примере мы будем использовать VBA макрос, который удаляет переносы строк из ячеек текущего листа Excel.
- Открываем рабочую книгу в Excel.
- Нажатием Alt+F11 вызываем окно редактора Visual Basic
- На панели Project-VBAProject кликаем правой кнопкой мыши по имени рабочей книги (в левой верхней части окна редактора) и в контекстном меню выбираем Insert > Module.
- Копируем код 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 = xlCalculationAutomatic
Эти строки, как можно понять из их содержания, отключают обновление экрана и пересчёт формул рабочей книги перед выполнением макроса. После выполнения кода эти параметры снова включаются. Данный приём приводит к ускорению выполнения макроса от 10% до 500% (да, макрос может работать в 5 раз быстрее, если манипуляции над ячейками происходят без лишних остановок).
- В самое начало кода после всех строк, начинающихся с Dim (если строк, начинающихся с Dim нет, то вставляем сразу после строки Sub):
- Сохраняем рабочую книгу, как книгу Excel с поддержкой макросов. Для этого нажмите Ctrl+S и в окне с предупреждением Следующие компоненты невозможно сохранить в книге без поддержки макросов (The following features cannot be saved in macro-free workbook) нажмите Нет (No).Откроется диалоговое окно Сохранение документа (Save as). В выпадающем списке Тип файла (Save as type) выбираем Книга Excel с поддержкой макросов (Excel macro-enabled workbook) и нажимаем кнопку Сохранить (Save).
- Нажимаем Alt+Q, чтобы закрыть окно редактора VBA и вернуться к книге Excel.
Запускаем макрос VBA в Excel
Чтобы запустить только что добавленный макрос, нажмите Alt+F8. Откроется диалоговое окно Макрос (Macro). В списке Имя макроса (Macro name) выберите нужный макрос и нажмите кнопку Выполнить (Run).
Урок подготовлен для Вас командой сайта office-guru.ru
Источник: https://www.ablebits.com/office-addins-blog/2013/12/06/add-run-vba-macro-excel/
Перевел: Антон Андронов
Правила перепечатки
Еще больше уроков по Microsoft Excel
Оцените качество статьи. Нам важно ваше мнение:
Adblock
detector
Как сохранить программный код макроса? Что такое модули?
Одним из способов установки (сохранения) макросов на своем компьютере является копирование программного кода и его вставка с последующим сохранением в модуль проекта редактора Visual Basic.
Напомню, что язык Visual Basic for Applications (VBA) – полнофункциональный язык программирования, встроенный в различные приложения компании Microsoft, а также других разработчиков программного обеспечения. Код VBA создается в редакторе Visual Basic Editor. Макросы VBA сохраняются в файлах документов в Word и в файлах рабочих книг в Excel. Макросы сохраняются в специальной части файла, которая называется модулем. Модуль – это элемент проекта, в котором хранится программный код. Каждый документ Word, каждая рабочая книга Excel может содержать один или несколько модулей, а может и не содержать ни одного модуля. Модули, сохраняемые в документе или книге имеют общее название — Project (проект).
Модули делятся на два типа: стандартные модули и модули класса. Основное содержание модулей — это макросы и процедуры написанные на языке VBA. Процедура — совокупность команд или инструкций в модуле, выполняемых как одна программа. В VBA существуют процедуры-подпрограммы Subprogram и процедуры- функции Function. Процедура от макроса отличается наличием в программном коде переменных.
Стандартные модули содержат процедуры, которые не связаны с конкретным объектом. Стандартный модуль — это модуль, в который помещают процедуры Sub и Function, которые должны быть доступны для всех процедур в данном приложении.
Модуль класса отличается от стандартного модуля тем, что, кроме процедур содержит еще и описание объекта и используется для создания классов (объектов).
Перед тем как копировать и вставлять программный код макроса в модуль проекта, откроем редактор Visual Basic. Чтобы запустить этот редактор, выберите команду Сервис/Макрос/Редактор Visual Basic, если Вы используете MS Office 2003, либо сочетанием клавиш Alt+F11 (универсальный способ вызова редактора для любых версий). Редактор открывается в новом окне, содержащем несколько панелей, расположением которых можно управлять. На рисунке ниже обозначены три стандартные панели.
1. Основное место занимает самая большая из них — область разработки. Эта панель используется для написания кода программ. При наличии готовых макросов их код отображается в области разработки.
2. На панели проектов представлен список всех составляющих объектов проекта, по умолчанию это три листа (электронные таблицы) и рабочая книга.
3. На панели свойств отображаются все свойства, ассоциированные с выбранным объектом. Изменения, которые вносятся на панель свойств, влияют на свойства объекта. Кроме того, изменения в области разработки отражаются в значениях величин, которыми определяются свойства объекта.
В проект можно добавлять дополнительные объекты. Код программы, который не связан с определенным объектом (например с листом или формой), обычно хранится в модуле.
Если в списке проекта отсутствует модуль Module1, то перед записью макроса его нужно добавить. Кроме того, можно добавлять объекты формы, создавая в программе графические интерфейсы пользователя.
Для вставки модуля в проект, выберите в меню редактора VBA команду Insert/Modul, либо воспользуйтесь контекстным меню, щелкнув правой кнопкой мыши в области панели проектов и выбрав пункт меню, как показано на картинке ниже. В список проекта будет добавлен модуль с именем Module1.
Можно дважды щелкнуть на этом имени в списке проекта и переименовать модуль. Переименование как раз будет происходить в третьей из основных панелей редактора, отображающей свойства элементов проекта.
Таким образом сохранение макросов на своем компьютере можно описать следующей последовательностью шагов:
- Находите и копируете в буфер обмена код макроса;
- Открываете на своем компьютере редактор Visual Basic (Alt+F11), выбираете существующий (или при необходимости добавляете новый) модуль;
- Вставляете в свой модуль данные из буфера обмена;
- Сохраняете внесенные изменения.
- Вызываете список своих макросов сочетанием клавиш Alt+F8, выбираете и запускаете нужный Вам макрос.
Если вдруг после копирования кода макрос не запускается, рекомендую внимательно прочитать статью «Что делать если макрос не работает?». Модули проектов можно импортировать и экспортировать.
Другие материалы по теме:
Примеры кода VBA для Excel
Примеры макросов Excel
Ниже вы найдете список основных примеров макросов для общих задач автоматизации Excel.
Копирование и вставка строки с одного листа на другой
Этот очень простой макрос копирует строку с одного листа на другой.
Sub Paste_OneRow()
'Копировать и вставить строку
Листы("лист1").Диапазон("1:1").Копировать Листы("лист2").Диапазон("1:1")
Application.CutCopyMode = Ложь
Конец сабвуфера
Отправить письмо
Этот полезный макрос запускает Outlook, создает черновик сообщения электронной почты и прикрепляет ActiveWorkbook.
Sub Send_Mail ()
Dim OutApp как объект
Затемнить OutMail как объект
Установите OutApp = CreateObject("Outlook.Application")
Установить OutMail = OutApp.CreateItem(0)
С исходящей почтой
.to = "[email protected]"
.Subject = "Тестовое письмо"
.Body = "Тело сообщения"
.Attachments.Add ActiveWorkbook.FullName
.Отображать
Конец с
Установите OutMail = Ничего
Установить OutApp = Ничего
Конец сабвуфера
Список всех листов в книге
Этот макрос выведет список всех листов в книге.
Подлисты списка()
Dim ws As рабочий лист
Dim x как целое число
х = 1
ActiveSheet.Range("A:A").Очистить
Для каждого ws в рабочих листах
ActiveSheet.Cells(x, 1) = ws.Name
х = х + 1
Следующий мс
Конец сабвуфера
Показать все рабочие листы
Этот макрос отобразит все рабочие листы.
' Показать все рабочие листы
Sub Показать все рабочие листы ()
Dim ws As рабочий лист
Для каждого ws в ActiveWorkbook.Worksheets
ws.Visible = кслшитвисибле
Следующий мс
Конец сабвуфера
Скрыть все рабочие листы, кроме активного
Этот макрос скроет все рабочие листы, кроме активного рабочего листа.
' Скрыть все листы, кроме активного листа
Sub HideAllExceptActiveSheet()
Dim ws As рабочий лист
Для каждого ws в ThisWorkbook.Worksheets
Если ws.Name <> ActiveSheet.Name, тогда ws. Visible = xlSheetHidden
Следующий мс
Конец сабвуфера
Снять защиту со всех листов
Этот пример макроса снимает защиту со всех листов в книге.
' Снять защиту со всех рабочих листов
Sub UnProtectAllSheets ()
Dim ws As рабочий лист
Для каждого ws в рабочих листах
ws.Unprotect "пароль"
Следующий мс
Конец сабвуфера
Защитить все листы
Этот макрос защитит все листы в книге.
'Защитить все рабочие листы
Sub ProtectAllSheets ()
Dim ws As рабочий лист
Для каждого ws в рабочих листах
ws.protect "пароль"
Следующий мс
Конец сабвуфера
Удалить все фигуры
Этот макрос удалит все фигуры на листе.
Sub Удалить все фигуры ()
Dim GetShape как форма
Для каждого GetShape в ActiveSheet.Shapes
GetShape.Удалить
Следующий
Конец сабвуфера
Удалить все пустые строки в рабочем листе
Этот пример макроса удалит все пустые строки в рабочем листе.
Sub DeleteBlankRows()
Тусклый х как долго
С ActiveSheet
Для x = .Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Шаг -1
Если WorksheetFunction.CountA(.Rows(x)) = 0 Тогда
ActiveSheet.Rows(x).Удалить
Конец, если
Следующий
Конец с
Конец сабвуфера
Выделение повторяющихся значений в выделенном фрагменте
Используйте этот простой макрос, чтобы выделить все повторяющиеся значения в выделенном фрагменте.
' Выделить повторяющиеся значения в выборе
Sub HighlightDuplicateValues ()
Dim myRange As Range
Затемнить ячейку как диапазон
Установите myRange = Выбор
Для каждой ячейки в моем диапазоне
Если WorksheetFunction.CountIf(myRange, cell.Value) > 1 Тогда
ячейка.Interior.ColorIndex = 36
Конец, если
Следующая ячейка
Конец сабвуфера
Подсветка отрицательных чисел
Этот макрос автоматизирует задачу выделения отрицательных чисел.
' Выделить отрицательные числа
Sub HighlightNegativeNumbers()
Dim myRange As Range
Затемнить ячейку как диапазон
Установите myRange = Выбор
Для каждой ячейки в моем диапазоне
Если ячейка.Значение < 0 Тогда
ячейка.Interior.ColorIndex = 36
Конец, если
Следующая ячейка
Конец сабвуфера
Подсветка альтернативных строк
Этот макрос полезен для выделения альтернативных строк.
' Выделить альтернативные строки
ПодсветкаAlternateRows()
Затемнить ячейку как диапазон
Dim myRange As Range
мой диапазон = выбор
Для каждой ячейки в myRange.Rows
Если Не Application.CheckSpelling(Word:=cell.Text), то
ячейка.Interior.ColorIndex = 36
Конец, если
Следующая ячейка
Конец сабвуфера
Выделение пустых ячеек в выделенном фрагменте
Этот базовый макрос выделяет пустые ячейки в выделенном фрагменте.
' Выделить все пустые ячейки в выделении
Подсветка пустых ячеек ()
Dim rng As Range
Установить rng = Выбор
rng.SpecialCells(xlCellTypeBlanks).Interior.Color = vbCyan
Конец сабвуфера
Примеры макросов Excel VBA — скачать бесплатно
Мы создали бесплатную надстройку VBA (Macros) Code Examples. Надстройка содержит более 100 готовых к использованию примеров макросов, включая приведенные выше примеры макросов!
Часто задаваемые вопросы о макросах Excel/VBA
Как писать код VBA (макросы) в Excel?
Чтобы написать код VBA в Excel, откройте редактор VBA (ALT + F11). Введите «Sub HelloWorld», нажмите Enter, и вы создали макрос! ИЛИ Скопируйте и вставьте одну из процедур, перечисленных на этой странице, в окно кода.
Что такое Excel VBA?
VBA — это язык программирования, используемый для автоматизации Excel.
Как использовать VBA для автоматизации Excel?
Вы используете VBA для автоматизации Excel путем создания макросов. Макросы — это блоки кода, выполняющие определенные задачи.
Практика VBA
Вы можете попрактиковаться в VBA с помощью нашего интерактивного учебного пособия по VBA.
Как добавить код макроса в книгу Excel
Как скопировать код VBA макроса Excel в книгу, с веб-сайта или из файла образца и куда вставить код. Узнайте, как внести простые изменения в код макроса, если это необходимо. Пошаговые видео, письменные шаги.
ПРИМЕЧАНИЕ . Если вы хотите записать свой собственный макрос Excel, см. инструкции для начинающих, чтобы записать и протестировать макрос в Excel. Или ознакомьтесь с простыми инструкциями по отображению сообщения в Excel с помощью макроса.
Автор: Дебра Далглиш
Скопировать код Excel VBA в:
--- Обычный модуль
--- Модуль рабочего листа
--- Модуль рабочей книги
--- Другая рабочая книга
Разрешить выполнение макросов в вашей рабочей книге
Запустить макрос Excel
Создать ярлык макроса
Добавить макрос на панель быстрого доступа
Создать макрос события рабочего листа
Изменить скопированный код Excel VBA Проверить
-900 Имена и диапазоны листов
--- Добавить и назвать объекты
--- Указать целевые столбцы или строки
Получить образец файла
Скопировать код Excel VBA в обычный модуль
Чтобы просмотреть шаги по вставке макроса в книгу, и управление
макрос, пожалуйста, посмотрите этот короткий видеоурок. Письменный
инструкция под видео.
Скопируйте код Excel VBA в обычный
Модуль
Вместо того, чтобы начинать с нуля, если вам нужен макрос Excel, вы можете
часто находите образцы кода на авторитетных сайтах в Интернете.
Чтобы скопировать код из этих макросов VBA и добавить его в одну из ваших книг, выполните следующие действия:
- Скопируйте образец кода, который вы хотите использовать
- Откройте книгу, в которую вы хотите добавить код
- Удерживая нажатой клавишу Alt, нажмите клавишу F11, чтобы открыть окно Visual Basic.
Редактор - Выберите Вставка | Модуль
- Там, где мигает курсор, выберите «Правка | Вставить
Чтобы запустить код:
- На ленте Excel щелкните вкладку «Вид»
- В крайнем правом углу щелкните Макросы
- Выберите имя макроса в списке и нажмите кнопку «Выполнить»
Скопировать код Excel VBA в модуль рабочего листа
Другой тип кода Excel — это код события, который запускается автоматически при
что-то конкретное происходит в книге.
Например, если вы введете
число в ячейке электронной таблицы или выберите запись в раскрывающемся списке ячейки, рабочий лист
был изменен. Это может вызвать событие Worksheet_Change.
Код события рабочего листа хранится в модуле рабочего листа. Чтобы добавить рабочий лист
код события на лист, выполните следующие действия:
- Скопируйте код, который вы хотите использовать
- Выберите рабочий лист, на котором вы запускаете код
- Щелкните правой кнопкой мыши вкладку листа и выберите View Code , чтобы открыть
Редактор VisualBasic. - Там, где мигает курсор, выберите «Правка | Вставить
Скопировать код Excel VBA в модуль рабочей книги
Другой тип кода — это код события рабочей книги, который следует добавить в
модуль кода рабочей книги:
- Скопируйте код, который вы хотите использовать
- Выберите книгу, в которой вы хотите сохранить код
- Удерживая нажатой клавишу Alt, нажмите клавишу F11, чтобы открыть окно Visual Basic.
Редактор - В Project Explorer найдите свою книгу и откройте список
Объекты Microsoft Excel - Щелкните правой кнопкой мыши объект ThisWorkbook и выберите «Просмотр кода».
- Там, где мигает курсор, выберите «Правка | Вставить
Копия
Код Excel VBA из другой книги
Чтобы просмотреть шаги по копированию макроса из одной книги в другую, см.
любой версии Excel, посмотрите этот короткий видеоурок. Письменный
инструкция под видео.
Скопировать код Excel VBA из другой книги
Вы можете найти код в образце книги в Интернете и решить добавить его в
одна из ваших рабочих тетрадей. Вы можете скопировать весь код в модуле, выполнив
следующее:
- Открыть обе книги
- Удерживая нажатой клавишу Alt, нажмите клавишу F11, чтобы открыть окно Visual Basic.
Редактор - В Project Explorer найдите свою книгу и книгу с
код, который вы хотите скопировать. Скриншот справа, код
находится в VBACodeCopy.xls и будет скопировано в MyForm.xlsm - В книге с кодом щелкните знак +, чтобы просмотреть список
Модули - Нажмите на модуль, который вы хотите скопировать, и перетащите его на проект
где вы хотите разместить копию. - Отпустите кнопку мыши, и копия модуля появится в
рабочая тетрадь.
Чтобы запустить код:
- На ленте Excel щелкните вкладку Вид
- В крайнем правом углу щелкните Макросы
- Выберите макрос в списке и нажмите кнопку «Выполнить»
Разрешить запуск макросов в вашей книге
Чтобы использовать макросы в Excel, вам может потребоваться включить их при открытии файла.
Если вы впервые используете макросы на текущем компьютере,
также может потребоваться настроить параметры безопасности макросов.
Следуйте приведенным ниже инструкциям, чтобы внести эти изменения.
Включить макросы при открытии файла
При открытии книги, содержащей макросы, вы можете увидеть
предупреждение в верхней части рабочего листа над панелью формул.
- Нажмите кнопку «Параметры».
- Нажмите «Включить это содержимое», чтобы разрешить запуск макросов книги,
и нажмите ОК.
Проверьте настройки безопасности макросов
Если вы раньше не запускали макросы, вам может потребоваться изменить макрос
уровень безопасности. (Возможно, вам придется согласовать это с вашим ИТ-отделом.)
- На ленте щелкните вкладку Разработчик и в группе Код щелкните
Безопасность макросов.
- ПРИМЕЧАНИЕ. Если вкладка «Разработчик» не отображается, выполните указанные здесь действия, чтобы отобразить ее.
все макросы с уведомлением
Запустите макрос Excel
После копирования макроса в обычный модуль выполните следующие действия, чтобы запустить макрос. Если макрос не запускается, проверьте настройки макроса.
Чтобы запустить макрос Excel, выполните следующие действия:
- Скопируйте код макроса в обычный модуль кода в вашем файле.
- Затем на вкладке «Вид ленты» щелкните верхнюю часть кнопки «Макрос», чтобы открыть окно «Макрос».
- В списке макросов щелкните макрос, который вы хотите запустить
- Нажмите кнопку «Выполнить»
Создать ярлык макроса
Чтобы упростить запуск макросов, вы можете создать для них сочетания клавиш.
Позже, когда вы захотите запустить один из ваших макросов, просто нажмите клавиши быстрого доступа, которые вы установили.
Создать ярлык макроса
Выполните следующие действия, чтобы настроить сочетание клавиш для запуска макроса:
- На ленте щелкните вкладку Разработчик и в группе Код щелкните
Макросы. - В диалоговом окне «Макрос» щелкните макрос, для которого вы хотите создать ярлык.
Копидейлирекордс. - В правом нижнем углу нажмите кнопку «Параметры».
- В окне «Параметры макроса» щелкните в поле «Сочетание клавиш»
- Нажмите клавишу Shift и введите букву для сочетания клавиш --R в этом примере.
- ПРИМЕЧАНИЕ : Использование клавиши Shift не требуется , но я рекомендую использовать ее
- Это поможет избежать перезаписи одного из встроенных ярлыков Excel.
- Нажмите OK, чтобы завершить ярлык
- Нажмите кнопку «Отмена» в окне «Макросы», чтобы закрыть его, не запуская макрос.
Запуск макроса с помощью сочетания клавиш
Если вы хотите запустить один из макросов Excel, просто нажмите настроенные вами сочетания клавиш.
Например, нажмите Ctrl+Shift+R , чтобы запустить макрос с именем CopyDailyRecords, показанный в примере «Создание ярлыка макроса» выше.
Добавить макрос на панель быстрого доступа
Если вы часто используете макрос, вы можете добавить его значок на панель быстрого доступа
Панель инструментов (QAT). В этом коротком видео показаны шаги, а письменные инструкции находятся под видео.
Ознакомьтесь с дополнительными советами по использованию панели быстрого доступа с вашими макросами, например, добавьте кнопки QAT, которые запускают макросы только для определенной книги.
Как добавить макрос в QAT
Например, вот шаги по добавлению макроса в QAT. Макрос
называется ToggleR1C1 и хранится в личной книге макросов с именем Personal.xlsb.
- В правом конце QAT щелкните стрелку раскрывающегося списка
- Щелкните Дополнительные команды
- В раскрывающемся списке Выбрать команды из щелкните Макросы
- В списке макросов щелкните макрос PERSONAL. XLSB!ToggleR1C1.
- PERSONAL.XLSB — это имя файла личной книги макросов
- Нажмите «Добавить», чтобы переместить его на панель быстрого доступа.
- В списке QAT щелкните макрос PERSONAL.XLSB!ToggleR1C1
- Нажмите «Изменить» и нажмите значок макроса (я использую восьмерку),
затем нажмите ОК - Нажмите OK, чтобы закрыть окно параметров Excel.
Значок макроса теперь отображается на QAT, и вы можете щелкнуть его, чтобы запустить
макрос.
Создание макроса события рабочего листа
Чтобы увидеть шаги по созданию макроса события изменения рабочего листа Excel, посмотрите это короткое видео.
В блоге Contextures есть письменные инструкции, и вы можете загрузить образец файла, использованный в этом видео.
Изменить скопированный код VBA Excel
Если вы копируете код VBA в файл Excel, вам может потребоваться внести изменения
к именам объектов или другим настройкам, чтобы код работал корректно
в вашем файле. Вот три вещи, которые нужно проверить, прежде чем пытаться запустить
код в вашем файле:
- Проверьте имена листов и диапазоны
- Добавить и назвать объекты
- Укажите целевые столбцы или строки
Проверьте имена листов и диапазоны
Если в коде есть имена листов или ссылки на диапазоны, вы можете изменить
их, чтобы они соответствовали вашей рабочей тетради.
- В коде ищите ссылки на «Рабочие листы» на «Листы»,
и измените их на имена листов в вашей книге. - Также ищите ссылки "Диапазон", такие как Range("A1:G100"),
и настройте их, чтобы они соответствовали местоположению ваших данных.
Эти ссылки могут быть в начале процедуры, в операторе Set:
Set ws = Worksheets("SalesData")
или где-то еще в коде.
Если вы запустите код без изменения ссылки, вы можете увидеть
сообщение об ошибке: Ошибка выполнения '9': Нижний индекс вне диапазона
Чтобы увидеть, в чем проблема, нажмите кнопку «Отладка» и строку кода
будет выделен желтым цветом.
Чтобы остановить код, нажмите меню «Выполнить», затем нажмите «Сброс».
Измените имя листа в выделенной строке, сохраните изменения,
и попробуйте код еще раз.
Добавить и назвать объекты
Если код относится к объектам на листе, обязательно добавьте эти
объекты в книге и используйте правильное имя объекта в коде.
Например, в коде Data
Поле со списком проверки, вам нужно добавить поле со списком на лист,
и назовите его TempCombo. Или, если поле со списком имеет другое имя,
измените ссылки на код, чтобы они соответствовали.
Укажите целевые столбцы или строки
Некоторый код предназначен для запуска, когда ячейка в определенной строке или столбце
изменен.
Например, в примере кода, показанном ниже, есть красный
точка в строке, которая говорит, что столбец 3 является единственным, где изменение будет
происходить.
ПРИМЕЧАНИЕ. Во всех этих примерах можно использовать Row вместо Column ,
чтобы ограничить цель определенными строками.
A) В рабочей книге, если вы хотите, чтобы код запускался, когда ячейка в столбце
E изменяется, вы можете заменить 3 на 5.
Если Target.Column = 5 Then
B) Или добавьте в код дополнительные столбцы. Например:
Если Target.Column = 3 _ Или Target.Column = 5 _ Или Target.Column = 6 Then
C) Если вы не хотите ограничивать код определенным столбцом, вы можете
удалите две строки (If...End If), отмеченные красными кружками. В
в этом случае код будет выполняться для изменения в каждом столбце.
D) Если вы хотите, чтобы код выполнялся в любом столбце, КРОМЕ определенного столбца, используйте
оператор Not Equal To -- <> -- вместо знака равенства. За
пример:
If Target.Column <> 3 The n
Получить пример файла
Чтобы просмотреть примеры модулей рабочей книги, модулей рабочего листа и обычных модулей кода, загрузите файл примера добавления кода в рабочую книгу.