Учебники

Макросы Excel — Краткое руководство

Макросы Excel — Обзор

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

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

Макро и VBA

Вы можете записывать и запускать макросы с помощью команд Excel или из Excel VBA.

VBA расшифровывается как Visual Basic для приложений и представляет собой простой язык программирования, доступный через Excel Visual Basic Editor (VBE), который доступен на вкладке DEVELOPER на ленте. Когда вы записываете макрос, Excel генерирует код VBA. Если вы просто хотите записать макрос и запустить его, вам не нужно изучать Excel VBA. Однако, если вы хотите изменить макрос, вы можете сделать это только путем изменения кода VBA в редакторе VBA Excel.

Вы узнаете, как записывать простой макрос и запускать его с помощью команд Excel, в главе «Создание простого макроса». Вы узнаете больше о макросах и о создании и / или изменении макросов из редактора Excel VBA в последующих главах.

Личная Макро Книга

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

О персональной книге макросов вы узнаете в главе «Сохранение всех ваших макросов в одной книге».

Макрос безопасности

Макросы будут храниться в виде кода VBA в Excel. Как и в случае с любым другим кодом, макрос-код также подвержен вредоносному коду, который может запускаться при открытии книги. Это угроза вашему компьютеру. Microsoft предоставила средство Macro Security, которое поможет вам защитить ваш компьютер от таких макровирусов.

Подробнее об этом вы узнаете в главе «Безопасность макросов».

Абсолютные ссылки и относительные ссылки

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

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

Макрокод в VBA

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

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

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

Назначение макросов объектам

Вы можете назначить макрос объекту, такому как фигура, графика или элемент управления. Затем вы можете запустить макрос, нажав на этот объект. Об этом вы узнаете в главе «Назначение макросов объектам».

Запуск макросов

В Excel предусмотрено несколько способов запуска макроса. Вы можете выбрать способ запуска макроса. Об этих различных возможных способах запуска макроса вы узнаете в главе «Запуск макроса».

Создание макроса с помощью редактора VBA

Если вы решили написать код макроса, вы можете изучить его в главе «Создание макроса с помощью VBA Editor». Однако обязательным условием является знание Excel VBA.

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

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

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

Формы пользователя

Форма обычно используется для сбора необходимой информации. Это само за себя сделает задачу проще. Пользовательские формы Excel, созданные из редактора Excel VBA, служат той же цели, предоставляя знакомые параметры, такие как текстовые поля, флажки, переключатели, списки, поля со списком, полосы прокрутки и т. Д. В качестве элементов управления.

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

Отладка макроса кода

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

Настройка макроса для запуска при открытии книги

Вы можете автоматически запускать макрос при открытии книги. Вы можете сделать это либо путем создания макроса Auto_Run, либо написав код VBA для события открытия книги. Вы узнаете об этом в главе «Настройка макроса для запуска при открытии рабочей книги».

Макросы Excel — Создание

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

Предположим, вам необходимо повторно собирать определенные результаты в следующем формате:

Формат

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

Запись макроса

Для записи макроса выполните следующие действия:

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

запись

Откроется диалоговое окно « Запись макроса ».

  • Введите MyFirstMacro в поле Имя макроса.

  • Введите «Простой макрос» в поле «Описание» и нажмите «ОК».

Введите MyFirstMacro в поле Имя макроса.

Введите «Простой макрос» в поле «Описание» и нажмите «ОК».

Запись макроса

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

  • Нажмите в ячейке B2.

  • Создать таблицу.

  • Нажмите в другой ячейке на листе.

  • Нажмите вкладку VIEW на ленте.

  • Нажмите Макросы.

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

Нажмите в ячейке B2.

Создать таблицу.

Нажмите в другой ячейке на листе.

Нажмите вкладку VIEW на ленте.

Нажмите Макросы.

Выберите Остановить запись из выпадающего списка.

Остановить запись

Ваша запись макроса завершена.

Первый шаг, который нужно щелкнуть по определенной ячейке, важен, поскольку он сообщает, где именно макрос должен начать размещать записанные шаги. Когда вы закончите запись, вы должны нажать «Остановить запись», чтобы избежать записи ненужных шагов.

Запуск макроса

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

  • Нажмите на новый лист.

Обратите внимание на активную ячейку. В нашем случае это А1.

  • Нажмите вкладку VIEW на ленте.

  • Нажмите Макросы .

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

Нажмите вкладку VIEW на ленте.

Нажмите Макросы .

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

Посмотреть

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

Диалоговое окно Macro

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

  • Щелкните имя макроса — MyFirstMacro в диалоговом окне «Макрос». Будет отображено описание, введенное вами во время записи макроса. Описание макроса позволяет определить, для какой цели вы записали макрос.

  • Нажмите кнопку «Выполнить». Та же самая таблица, которую вы создали во время записи макроса, появится за доли секунды.

Щелкните имя макроса — MyFirstMacro в диалоговом окне «Макрос». Будет отображено описание, введенное вами во время записи макроса. Описание макроса позволяет определить, для какой цели вы записали макрос.

Нажмите кнопку «Выполнить». Та же самая таблица, которую вы создали во время записи макроса, появится за доли секунды.

Список макросов

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

  • Хотя активной ячейкой перед запуском макроса была A1, таблица помещается в ячейку B2, как вы записали.

  • Кроме того, активной ячейкой стала E2, так как вы щелкнули по этой ячейке, прежде чем прекратили запись.

Хотя активной ячейкой перед запуском макроса была A1, таблица помещается в ячейку B2, как вы записали.

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

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

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

Хранение макроса

Вы можете задаться вопросом, как сохранить созданные макросы. В этом контексте вам нужно знать —

  • Хранение макроса
  • Сохранение файла с макросами

Как и при создании макроса, вы можете выбрать, где хранить этот конкретный макрос. Вы можете сделать это в диалоговом окне « Запись макроса ».

Установите флажок — Хранить макрос в . Доступны следующие три варианта:

  • Это рабочая тетрадь.
  • Новая рабочая тетрадь.
  • Личная Макро Книга

Магазин Макро

Эта рабочая тетрадь

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

Новая рабочая книга

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

Личная Макро Книга

Если вы создаете несколько макросов, которые вы используете в своих книгах, Personal Macro Workbook предоставляет вам возможность хранить все макросы в одном месте. Вы узнаете больше об этой опции в следующей главе.

Сохранение файла с макросами

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

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

Эта рабочая тетрадь

Примечание. Если вы нажмете кнопку «Да», Excel сохранит вашу книгу как файл без макросов .xls, а макрос, сохраненный с помощью параметра «Эта книга», не будет сохранен. Чтобы избежать этого, Excel предоставляет вам возможность сохранить рабочую книгу как макроподключенную книгу с расширением .xlsm.

  • Нажмите Нет в окне с предупреждением.
  • Выберите Excel Macro-Enabled Workbook (* .xlsm) в типе Сохранить как.
  • Нажмите Сохранить.

Сохранить файл

Вы узнаете больше об этом в последующих главах этого урока.

Макросы Excel — Макросы в одной книге

Excel предоставляет вам возможность хранить все ваши макросы в одной книге. Рабочая книга называется «Персональная макрокоманда» — Personal.xlsb. Это скрытая рабочая книга, хранящаяся на вашем компьютере, которая открывается каждый раз, когда вы открываете Excel. Это позволяет вам запускать макросы из любой книги. На каждом компьютере будет отдельная книга личных макросов, и вы не сможете поделиться ею между компьютерами. Вы можете просматривать и запускать макросы в своей личной книге макросов из любой книги на вашем компьютере.

Сохранение макросов в личной книге макросов

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

Выберите «Персональная книга макросов» в раскрывающемся списке под категорией « Хранить макрос» .

Персональный макрос

  • Запишите свой второй макрос.
  • Укажите детали макроса в диалоговом окне «Запись макроса», как показано ниже.
  • Нажмите ОК.

Второй макрос

Ваша запись начинается. Создайте таблицу, как показано ниже.

Запись начинается

  • Прекратить запись.

  • Нажмите вкладку VIEW на ленте.

  • Нажмите Макросы.

  • Выберите View Macros из выпадающего списка. Откроется диалоговое окно «Макрос».

Прекратить запись.

Нажмите вкладку VIEW на ленте.

Нажмите Макросы.

Выберите View Macros из выпадающего списка. Откроется диалоговое окно «Макрос».

Посмотреть макросы

Имя макроса отображается с префиксом PERSONAL.XLSB! указывает на то, что макрос находится в личной книге макросов.

Сохраните свою рабочую книгу. Он будет сохранен как файл .xls, так как макрос отсутствует в вашей книге и закроет Excel.

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

Сохранить

Нажмите кнопку Сохранить. Ваш макрос сохраняется в файле Personal.xlsb на вашем компьютере.

Скрытие / отображение персональной макрокоманды

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

  • Нажмите вкладку VIEW на ленте.

  • Нажмите Показать в группе окон.

Нажмите вкладку VIEW на ленте.

Нажмите Показать в группе окон.

Посмотреть вкладку

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

Unhide

PERSONAL.XLSB появится в поле «Показать книгу» и нажмите «ОК».

Персональный XLSB

Теперь вы можете просматривать макросы, сохраненные в личной книге макросов.

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

  • Нажмите на личную книгу макросов.
  • Нажмите вкладку VIEW на ленте.
  • Нажмите Скрыть на ленте.

Запуск макросов, сохраненных в личной книге макросов

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

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

Добавление / удаление макросов в личной книге макросов

Вы можете добавить больше макросов в личную книгу макросов, выбрав ее для опции «Хранить макрос» во время записи макросов, как вы видели ранее.

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

  • Убедитесь, что личная рабочая тетрадь с макросами не скрыта.
  • Щелкните имя макроса в диалоговом окне «Просмотр макросов».
  • Нажмите кнопку Удалить.

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

Скрытая рабочая книга

Отобразите личную книгу макросов и удалите выбранный макрос.

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

Макросы Excel — Безопасность

Макросы, которые вы создаете в Excel, будут написаны на языке программирования VBA (Visual Basic для приложений). Вы узнаете о макросе Excel в следующих главах. Как вы знаете, когда есть исполняемый код, существует угроза вирусов. Макросы также подвержены вирусам.

Что такое макро-вирусы?

Excel VBA, в котором написаны макросы, имеет доступ к большинству системных вызовов Windows и выполняется автоматически при открытии книг. Следовательно, существует потенциальная угроза существования вируса, написанного в виде макроса и скрытого в Excel, который выполняется при открытии книги. Поэтому макросы Excel могут быть очень опасны для вашего компьютера во многих отношениях. Однако Microsoft предприняла соответствующие меры для защиты книг от макровирусов.

Microsoft ввела защиту макросов, чтобы вы могли определить, каким макросам вы можете доверять, а каким — нет.

Книги Excel с поддержкой макросов

Самая важная функция безопасности макросов Excel — расширения файлов.

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

Книги Excel с макросами сохраняются с расширением .xlsm. Они называются книгами Excel с поддержкой макросов. Прежде чем открывать такие книги, убедитесь, что содержащиеся в них макросы не являются вредоносными. Для этого вы должны убедиться, что можете доверять источнику книг этого типа.

Способы доверять книге с поддержкой макросов

Excel предоставляет три способа доверять книге с поддержкой макросов.

  • Помещение книг с поддержкой макросов в надежную папку

  • Проверка, если макрос имеет цифровую подпись

  • Включение предупреждений безопасности перед открытием книг с поддержкой макросов

Помещение книг с поддержкой макросов в надежную папку

Проверка, если макрос имеет цифровую подпись

Включение предупреждений безопасности перед открытием книг с поддержкой макросов

Помещение книг с поддержкой макросов в надежную папку

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

Проверка, если макрос имеет цифровую подпись

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

Включение предупреждений безопасности перед открытием книг с поддержкой макросов

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

Безопасность

Вы можете установить любой из этих трех параметров в центре управления безопасностью в параметрах Excel.

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

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

Настройки безопасности макросов в центре управления безопасностью

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

  • Нажмите вкладку ФАЙЛ на ленте.

  • Нажмите Опции. Откроется диалоговое окно «Параметры Excel».

  • Нажмите Центр управления безопасностью на левой панели.

  • Нажмите кнопку Настройки центра управления безопасностью в Центре управления безопасностью Microsoft Excel.

Нажмите вкладку ФАЙЛ на ленте.

Нажмите Опции. Откроется диалоговое окно «Параметры Excel».

Нажмите Центр управления безопасностью на левой панели.

Нажмите кнопку Настройки центра управления безопасностью в Центре управления безопасностью Microsoft Excel.

Настройки макроса

Откроется диалоговое окно « Центр управления безопасностью ».

Трастовый центр

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

Настройки макроса

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

Настройки макроса

В настройках макроса доступны четыре параметра.

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

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

  • Отключите все макросы, кроме макросов с цифровой подписью — макросы отключены, но при наличии макросов появляются предупреждения системы безопасности. Однако, если макрос подписан доверенным издателем с цифровой подписью, макрос запускается, если вы доверяете издателю. Если вы не доверяете издателю, вы получите уведомление о включении подписанного макроса и доверии издателю.

  • Включить все макросы (не рекомендуется, восприимчивы к макровирусам) — если выбрана эта опция, запускаются все макросы. Этот параметр делает ваш компьютер уязвимым для потенциально вредоносного кода.

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

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

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

Включить все макросы (не рекомендуется, восприимчивы к макровирусам) — если выбрана эта опция, запускаются все макросы. Этот параметр делает ваш компьютер уязвимым для потенциально вредоносного кода.

У вас есть дополнительная опция безопасности в Настройках макроса разработчика с флажком.

  • Доверительный доступ к объектной модели проекта VBA.

    • Этот параметр обеспечивает программный доступ к объектной модели Visual Basic для приложений (VBA) из клиента автоматизации.

    • Этот параметр безопасности предназначен для кода, написанного для автоматизации программы Office и управления средой VBA и объектной моделью.

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

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

Доверительный доступ к объектной модели проекта VBA.

Этот параметр обеспечивает программный доступ к объектной модели Visual Basic для приложений (VBA) из клиента автоматизации.

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

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

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

Определение надежного местоположения

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

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

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

Надежное расположение

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

Вы также можете найти варианты, которые офис не рекомендует, например, места в Интернете.

Макросы с цифровой подписью из надежных источников

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

Вы найдете доверенных издателей в центре доверия.

  • Нажмите Надежные издатели в диалоговом окне центра управления безопасностью. Справа появится список сертификатов с подробной информацией — выдано, выдано и срок действия.

  • Выберите сертификат и нажмите «Просмотр».

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

Выберите сертификат и нажмите «Просмотр».

Доверенные издатели

Информация о сертификате отображается.

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

Использование предупреждающих сообщений

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

Предупреждающие сообщения

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

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

Включение / отключение предупреждений безопасности на панели сообщений

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

  • Нажмите вкладку ФАЙЛ на ленте.
  • Нажмите Опции. Откроется диалоговое окно «Параметры Excel».
  • Нажмите Траст-центр.
  • Нажмите кнопку Настройки центра управления безопасностью.
  • Нажмите Панель сообщений.

Появятся настройки панели сообщений для всех приложений Office.

Панель сообщений

В разделе « Отображение панели сообщений» есть два варианта.

Вариант 1 — Показывать панель сообщений во всех приложениях, когда активный контент, такой как макросы, заблокирован.

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

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

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

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

Показ сообщения

Вариант 2 — Никогда не показывать информацию о заблокированном контенте.

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

блокированный

Макросы Excel — абсолютные ссылки

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

Вы узнаете об абсолютных ссылках на макрос в этой главе. Вы узнаете об относительных ссылках в следующей главе.

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

Абсолютная Ссылка

Теперь отчет должен быть помещен в ячейку B2 и должен быть в заданном формате.

Образец, заполненный в отчете, будет таким, как показано ниже —

Образец

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

  • C3 — Отчет за дату.
  • C13 — Количество задач, выполненных сегодня.
  • C14 — Общее количество выполненных задач.
  • C15 -% работа выполнена.

Из них также в C3 (Отчет за дату) вы можете поместить функцию Excel = TODAY (), которая помещает дату вашего отчета без вашего вмешательства. Кроме того, в ячейке C15 вы можете использовать формулу C14 / C12 и отформатировать ячейку C15 в процентах, чтобы рассчитать% Work Complete для вас в Excel.

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

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

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

Обеспечение Абсолютных Ссылок

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

  • Начните запись макроса.
  • Создайте новый лист.
  • Щелкните в любой ячейке, кроме B2, на новом листе.
  • Нажмите в ячейке B2.
  • Продолжить запись макроса.

Это создаст новый лист для каждого нового отчета и будет помещать формат отчета в ячейку B2 при каждом запуске макроса.

Примечание . Первые три шага, приведенные выше, очень важны.

  • Если вы не создаете новый рабочий лист, при запуске макроса он помещает все, что вы записали, на один и тот же рабочий лист в одно и то же место. Это не то, что вы хотите. Вы должны иметь каждый отчет на отдельном листе.

  • Если вы не нажмете другую ячейку в начале записи, даже если активная ячейка — B2, Excel поместит записанные шаги в активную ячейку. Когда вы запустите макрос, он поместит записанный формат отчета в любую часть рабочего листа на основе активной ячейки. Явно щелкая в ячейке, отличной от B2, а затем в ячейке B2, вы говорите рекордеру всегда размещать ваши макроэтапы в ячейке B2.

Если вы не создаете новый рабочий лист, при запуске макроса он помещает все, что вы записали, на один и тот же рабочий лист в одно и то же место. Это не то, что вы хотите. Вы должны иметь каждый отчет на отдельном листе.

Если вы не нажмете другую ячейку в начале записи, даже если активная ячейка — B2, Excel поместит записанные шаги в активную ячейку. Когда вы запустите макрос, он поместит записанный формат отчета в любую часть рабочего листа на основе активной ячейки. Явно щелкая в ячейке, отличной от B2, а затем в ячейке B2, вы говорите рекордеру всегда размещать ваши макроэтапы в ячейке B2.

Запись макроса

Вы можете начать запись макроса с помощью команды « Запись макроса» на ленте на вкладке «ПРОСМОТР» → «Макросы». Вы также можете нажать кнопку « Начать запись макроса» в левой части панели задач Excel.

Запись Макроса

  • Начните запись макроса. Откроется диалоговое окно « Запись макроса ».

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

  • Выберите «Эта книга» в разделе « Макрос магазина» , поскольку отчеты будут создаваться только из этой конкретной книги.

  • Дайте описание вашему макросу и нажмите ОК.

Начните запись макроса. Откроется диалоговое окно « Запись макроса ».

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

Выберите «Эта книга» в разделе « Макрос магазина» , поскольку отчеты будут создаваться только из этой конкретной книги.

Дайте описание вашему макросу и нажмите ОК.

Описание

Ваш макрос начинает запись.

  • Создайте новый лист. Это гарантирует, что ваш новый отчет будет на новом листе.

  • Щелкните в любой ячейке, кроме B2, на новом листе.

  • Нажмите в ячейке B2. Это гарантирует, что макрос всегда помещает ваши записанные шаги в B2.

  • Создайте формат для отчета.

  • Заполните статическую информацию для отчета по проекту.

  • Поместите = СЕГОДНЯ () в C3 и = C14 / C12 в ячейку C15.

  • Отформатируйте ячейки с датами.

Создайте новый лист. Это гарантирует, что ваш новый отчет будет на новом листе.

Щелкните в любой ячейке, кроме B2, на новом листе.

Нажмите в ячейке B2. Это гарантирует, что макрос всегда помещает ваши записанные шаги в B2.

Создайте формат для отчета.

Заполните статическую информацию для отчета по проекту.

Поместите = СЕГОДНЯ () в C3 и = C14 / C12 в ячейку C15.

Отформатируйте ячейки с датами.

Прекратите запись макроса.

Остановить запись

Остановить запись макроса можно либо с помощью команды « Остановить запись» на ленте на вкладке «ПРОСМОТР» → «Макросы», либо нажав кнопку «Остановить запись макроса», расположенную в левой части панели задач Excel.

Taskbar

Макрос вашего отчета о проекте готов. Сохраните книгу как макрокоманду (с расширением .xlsm).

Запуск макроса

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

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

В вашей книге будет создан новый лист, а в ячейке B2 будет создан трафарет отчета.

Макросы Excel — Относительные ссылки

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

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

  • Название избирательного округа.
  • Общая численность населения в избирательном округе.
  • Количество избирателей в избирательном округе.
  • Количество избирателей мужского пола, и
  • Количество женщин-избирателей.

Данные предоставляются вам на листе, как указано ниже.

Относительные ссылки

Невозможно проанализировать данные в вышеуказанном формате. Поэтому расположите данные в таблице, как показано ниже.

Таблица

Если вы пытаетесь расположить данные в вышеуказанном формате —

  • Сбор данных из 280 избирательных округов занимает значительное время

  • Это может быть подвержено ошибкам

  • Это становится мирской задачей, не позволяющей вам сосредоточиться на технических вещах

Сбор данных из 280 избирательных округов занимает значительное время

Это может быть подвержено ошибкам

Это становится мирской задачей, не позволяющей вам сосредоточиться на технических вещах

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

Использование относительных ссылок

Чтобы сообщить макрос-рекордеру, что он должен использовать относительные ссылки, сделайте следующее:

  • Нажмите вкладку VIEW на ленте.

  • Нажмите Макросы .

  • Нажмите « Использовать относительные ссылки» .

Нажмите вкладку VIEW на ленте.

Нажмите Макросы .

Нажмите « Использовать относительные ссылки» .

Относительная ссылка

Подготовка формата данных

Первым шагом в организации приведенных выше данных является определение формата данных в таблице с заголовками.

Создайте строку заголовков, как показано ниже.

Подготовка

Запись макроса

Запишите макрос следующим образом —

  • Нажмите Запись макроса.

  • Дайте осмысленное имя, скажем, DataArrange макросу.

  • Тип = строка () — 3 в ячейке B4. Это потому, что номер S. является текущим номером строки — 3 строки над ним.

  • Разрежьте ячейки B5, B6, B7, B8 и B9 и вставьте их в ячейки C4-C8 соответственно.

  • Теперь нажмите на ячейку B5. Ваша таблица выглядит так, как показано ниже.

Нажмите Запись макроса.

Дайте осмысленное имя, скажем, DataArrange макросу.

Тип = строка () — 3 в ячейке B4. Это потому, что номер S. является текущим номером строки — 3 строки над ним.

Разрежьте ячейки B5, B6, B7, B8 и B9 и вставьте их в ячейки C4-C8 соответственно.

Теперь нажмите на ячейку B5. Ваша таблица выглядит так, как показано ниже.

Запись макроса

Первый набор данных расположен в первой строке таблицы. Удалите строки B6 — B11 и щелкните в ячейке B5.

Первый набор данных

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

Прекратите запись макроса. Ваш макрос для размещения данных готов.

Запуск макроса

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

Активная ячейка B5. Запустите макрос. Второй набор данных будет размещен во второй строке таблицы, а активной ячейкой будет B6.

Макрос Бег

Запустите макрос снова. Третий набор данных будет размещен в третьей строке таблицы, и активной ячейкой станет B7.

Запустить макрос

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

Запускайте макрос, пока все 280 наборов данных не будут объединены в 280 строк таблицы. Этот процесс занимает несколько секунд, и, поскольку шаги автоматизированы, все упражнение не содержит ошибок.

Макросы Excel — VBA

Excel хранит макросы в виде кода Excel VBA (Visual Basic для приложений). После записи макроса вы можете просмотреть сгенерированный код, изменить его, скопировать его часть и т. Д. Вы даже можете написать макрос самостоятельно, если вам удобно программировать на VBA.

Вы узнаете, как создать макрос, написав код VBA, в главе «Создание макроса с помощью редактора VBA». Вы узнаете, как изменить макрос, отредактировав код VBA в главе «Редактирование макроса». В этой главе вы узнаете о возможностях Excel VBA.

Вкладка «Разработчик» на ленте

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

разработчик

Если вы не найдете вкладку «Разработчик» на ленте, вам нужно добавить ее следующим образом:

  • Щелкните правой кнопкой мыши на ленте.

  • Выберите « Настроить ленту» в раскрывающемся списке.

Щелкните правой кнопкой мыши на ленте.

Выберите « Настроить ленту» в раскрывающемся списке.

Настроить ленту

Откроется диалоговое окно « Параметры Excel ».

  • Выберите « Основные вкладки» в раскрывающемся списке « Настройка ленты» .

  • Установите флажок «Разработчик» в списке «Основные вкладки» и нажмите «ОК». Появится вкладка разработчика.

Выберите « Основные вкладки» в раскрывающемся списке « Настройка ленты» .

Установите флажок «Разработчик» в списке «Основные вкладки» и нажмите «ОК». Появится вкладка разработчика.

Параметры Excel

Команды разработчика для макросов

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

Нажмите вкладку РАЗРАБОТЧИК на ленте. Следующие команды доступны в группе Код —

  • Visual Basic
  • макрос
  • Запись макроса
  • Используйте относительные ссылки
  • Макрос безопасности

управления

Команда Visual Basic используется для открытия редактора VBA в Excel, а команда Macros — для просмотра, запуска и удаления макросов.

Вы уже изучили команды, отличные от VBA Editor, в предыдущих главах.

VBA Editor

VBA Editor или VBE — это платформа для разработчиков VBA в Excel.

Откройте книгу — MyFirstMacro.xlsm, которую вы сохранили ранее в главе «Создание простого макроса» в этом учебном пособии.

Вы можете открыть VBE любым из двух способов —

Вариант 1. Нажмите Visual Basic в группе «Код» на вкладке «Разработчик» на ленте.

VBA Editor

Вариант 2. Нажмите «Редактировать» в диалоговом окне «Макрос», которое появляется при нажатии вкладки «ПРОСМОТР» → «Макросы» → «Просмотр макросов».

Посмотреть макрос

VBE появляется в новом окне.

VBE

Имя вашего учебника с поддержкой макросов Excel отображается с префиксом Microsoft Visual Basic для приложений.

Вы найдете следующее в VBE —

  • Проводник проектов.
  • Свойства.
  • Модуль окна с кодом.

Проводник проектов

В Project Explorer вы найдете имена проектов VBA. Под проектом вы найдете имена листов и модулей. При щелчке по имени модуля соответствующий код появляется в правой части окна.

Окно свойств

Свойства являются параметрами для объектов VBA. Когда у вас есть объект, такой как командная кнопка, его свойства появятся в окне свойств.

Окно модуля с кодом

Код макроса будет храниться в модуле в VBA. Когда вы выбираете макрос и нажимаете «Редактировать», код макроса появляется в соответствующем окне модуля.

Макросы Excel — Понимание кодов

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

Однако вы все равно можете просмотреть код макроса в редакторе Excel VBA и сопоставить его с шагами, которые вы записали в макросе. Вы узнаете, как просматривать код и понимать его для первого макроса, который вы создали в этом руководстве — MyFirstMacro.

Просмотр макрокода в VBA Editor

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

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

Просмотр

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

  • Нажмите MyFirstMacro в списке макросов.
  • Нажмите кнопку Изменить.

редактировать

Откроется редактор VBA и появится код макроса MyFirstMacro.

макрос

Понимание записанных действий как частей кода

Вы можете просмотреть код макроса и сопоставить их с вашими записанными шагами.

  • Начните читать код.
  • Сопоставьте код с записанными шагами.

понимание

Прокрутите код, чтобы увидеть больше кода. Кроме того, вы можете увеличить окно кода.

Увеличить код

Обратите внимание, что код прост. Если вы изучите Excel VBA, вы можете создать макросы, написав код в редакторе VBA.

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

Макросы Excel — Назначение макросов объектам

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

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

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

Отзыв

Назначение макроса для фигуры

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

  • Нажмите вкладку INSERT на ленте.

  • Нажмите « Фигуры» в группе «Иллюстрации».

  • Выберите любую из готовых фигур, которые появляются в раскрывающемся списке. Например, форма Блок-схема — Подготовка, так как вы находитесь в процессе подготовки данных.

Нажмите вкладку INSERT на ленте.

Нажмите « Фигуры» в группе «Иллюстрации».

Выберите любую из готовых фигур, которые появляются в раскрывающемся списке. Например, форма Блок-схема — Подготовка, так как вы находитесь в процессе подготовки данных.

Назначение

Нарисуйте форму и отформатируйте ее.

Draw Shape

  • Щелкните правой кнопкой мыши на фигуре и выберите Edit Text из выпадающего списка.

  • Введите текст внутри фигуры — Запустить макрос.

  • Отформатируйте текст.

Щелкните правой кнопкой мыши на фигуре и выберите Edit Text из выпадающего списка.

Введите текст внутри фигуры — Запустить макрос.

Отформатируйте текст.

Редактировать текст

  • Щелкните правой кнопкой мыши на форме.
  • Выберите Назначить макрос из выпадающего списка.

Назначить макрос

Откроется диалоговое окно «Назначить макрос». Щелкните имя макроса, т.е. RelativeMacro, и нажмите ОК.

Имя макроса

Макрос присваивается фигуре.

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

  • Переместите курсор (указатель) на фигуру. Курсор (указатель) изменится на палец.

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

Переместите курсор (указатель) на фигуру. Курсор (указатель) изменится на палец.

Курсор

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

Назначение макроса графике

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

  • Нажмите вкладку INSERT на ленте.
  • Нажмите «Изображения» в группе «Иллюстрации».
  • Выберите файл, который содержит вашу графику.

графический

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

Назначение макроса элементу управления

Вставка элемента управления VBA и назначение ему макроса делает вашу работу профессиональной. Элементы управления VBA можно вставить на вкладке «Разработчик» на ленте.

  • Нажмите вкладку РАЗРАБОТЧИК на ленте.

  • Нажмите « Вставить» в группе «Элементы управления».

Нажмите вкладку РАЗРАБОТЧИК на ленте.

Нажмите « Вставить» в группе «Элементы управления».

Вставить

Выберите значок «Кнопка» в разделе « Элементы управления формой» из раскрывающегося списка, как показано на снимке экрана ниже.

Элементы управления формой

  • Щелкните ячейку на листе, в которую вы хотите вставить элемент управления Button. Откроется диалоговое окно «Назначить макрос».

  • Нажмите на имя макроса и нажмите ОК.

Щелкните ячейку на листе, в которую вы хотите вставить элемент управления Button. Откроется диалоговое окно «Назначить макрос».

Нажмите на имя макроса и нажмите ОК.

Кнопочное управление

Кнопка управления с назначенным макросом будет вставлена.

Кнопка управления

  • Щелкните правой кнопкой мыши на кнопке.
  • Нажмите Редактировать текст.
  • Тип — Запустить макрос.
  • Форматировать текст и изменить размер кнопки.

Тип Выполнить макрос

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

Использование элементов управления форм — это простой и эффективный способ взаимодействия с пользователем. Подробнее об этом вы узнаете в главе «Взаимодействие с пользователем».

Макросы Excel — Запуск макроса

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

Вы можете запустить макрос следующими способами:

  • Запуск макроса из вкладки «Вид»
  • Запуск макроса нажатием клавиши Ctrl и сочетания клавиш
  • Запуск макроса нажатием кнопки на панели быстрого доступа
  • Запуск макроса нажатием кнопки в пользовательской группе на ленте
  • Запуск макроса, нажав на графический объект
  • Запуск макроса из вкладки разработчика
  • Запуск макроса из редактора VBA

Запуск макроса из вкладки «Просмотр»

Вы уже научились запускать макрос на вкладке «Вид» на ленте. Краткий обзор —

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

Активная ячейка

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

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

Диалоговое окно

Запуск макроса с помощью сочетания клавиш

Вы можете назначить сочетание клавиш (Ctrl + клавиша) для макроса. Вы можете сделать это во время записи макроса в диалоговом окне « Создание макроса ». В противном случае вы можете добавить это позже в диалоговом окне « Параметры макроса ».

Добавление сочетания клавиш во время записи макроса

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

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

  • Введите имя макроса
  • Введите букву, скажем q, в поле рядом с Ctrl + под сочетанием клавиш.

Добавление

Добавление сочетания клавиш в параметры макроса

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

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

  • Выберите имя макроса.
  • Нажмите кнопку «Параметры».

Быстрая клавиша

Откроется диалоговое окно «Параметры макроса». Введите букву, скажем q, в поле рядом с Ctrl + под сочетанием клавиш. Нажмите ОК.

Введите письмо

Чтобы запустить макрос с помощью сочетания клавиш, одновременно нажмите клавишу Ctrl и клавишу q. Макрос будет работать.

Примечание. Для сочетания клавиш макроса можно использовать любые строчные или прописные буквы. Если вы используете комбинацию клавиш Ctrl + буква, которая является сочетанием клавиш Excel, вы переопределите ее. Примеры включают в себя Ctrl + C, Ctrl + V, Ctrl + X и т. Д. Следовательно, используйте вашу юрисдикцию при выборе букв.

Запуск макроса через панель быстрого доступа

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

Предположим, у вас есть макрос с именем MyMacro в вашей личной книге макросов.

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

  • Щелкните правой кнопкой мыши на панели быстрого доступа.

  • Выберите « Настроить панель быстрого доступа» в раскрывающемся списке.

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

Выберите « Настроить панель быстрого доступа» в раскрывающемся списке.

Быстрый доступ

Откроется диалоговое окно «Параметры Excel». Выберите Macros из выпадающего списка под категорией — Выберите команды из .

команды

Список макросов появляется в разделе Макросы.

  • Нажмите PERSONAL.XLSB! MyMacro.
  • Нажмите кнопку Добавить.

Список

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

Чтобы изменить изображение кнопки макроса, выполните следующие действия:

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

изменять

Откроется диалоговое окно « Изменить кнопку ». Выберите один символ, чтобы установить его в качестве значка кнопки.

Значок

Измените отображаемое имя, которое отображается, когда вы помещаете указатель на изображение кнопки на панели быстрого доступа, на значимое имя, например, «Запуск MyMacro» для этого примера. Нажмите ОК.

MyMacro

Имя макроса и символ значка изменяются на правой панели. Нажмите ОК.

Условное обозначение

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

Указатель

Чтобы запустить макрос, просто нажмите кнопку макроса на панели быстрого доступа.

Запуск макроса в пользовательской группе

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

  • Щелкните правой кнопкой мыши на ленте.
  • Выберите «Настроить ленту» в раскрывающемся списке.

Пользовательская группа

Откроется диалоговое окно « Параметры Excel ».

  • Выберите «Основные вкладки» в разделе «Настройка ленты».
  • Нажмите Новая вкладка.

Вариант Excel

Новая вкладка (Custom) появится в списке основных вкладок.

  • Нажмите Новая вкладка (Custom).
  • Нажмите кнопку «Новая группа».

Новая группа (Пользовательская) отображается в разделе Новая вкладка (Пользовательская).

  • Нажмите Новая вкладка (Custom).
  • Нажмите кнопку Переименовать.

изготовленный на заказ

Откроется диалоговое окно Rename. Введите имя для пользовательской вкладки, которая отображается на вкладке «Основные» на ленте, скажем — «Мои макросы» и нажмите «ОК».

переименовывать

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

Имя новой вкладки изменится на Мои макросы (Пользовательский).

  • Нажмите Новая группа (Пользовательская).
  • Нажмите кнопку Переименовать.

Новая группа

Откроется диалоговое окно Rename . Введите имя группы в диалоговом окне «Отображаемое имя» и нажмите «ОК».

Отображаемое имя

Имя новой группы изменится на Персональные макросы (пользовательские).

Нажмите Макросы на левой панели под заголовком Выбрать команды из .

Команды из

  • Выберите имя вашего макроса, скажем — MyFirstMacro из списка макросов.
  • Нажмите кнопку Добавить.

Список макросов

Макрос будет добавлен в группу «Персональные макросы» (Custom).

Персональные макросы

  • Нажмите Мои макросы (Пользовательские) в списке.
  • Нажмите стрелки, чтобы переместить вкладку вверх или вниз.

Стрелы

Положение вкладки в списке основных вкладок определяет, где она будет размещена на ленте. Нажмите ОК.

Позиция

Ваша пользовательская вкладка — Мои макросы появится на ленте.

Нажмите на вкладку — Мои макросы. На ленте появится группа «Личные макросы». MyFirstMacro появляется в группе «Персональные макросы». Чтобы запустить макрос, просто нажмите MyFirstMacro в группе «Персональные макросы».

Нажмите Tab

Запуск макроса нажатием на объект

Вы можете вставить объект, такой как фигура, графический элемент или элемент управления VBA, в свой рабочий лист и назначить ему макрос. Чтобы запустить макрос, просто щелкните объект.

Подробнее о запуске макроса с использованием объектов см. Главу «Назначение макросов объектам».

Запуск макроса на вкладке разработчика

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

  • Перейдите на вкладку «Разработчик» на ленте.
  • Нажмите Макросы.

Вкладка разработчика

Откроется диалоговое окно «Макрос». Щелкните по имени макроса и затем нажмите «Выполнить».

Нажмите Run

Запуск макроса из редактора VBA

Вы можете запустить макрос из редактора VBA следующим образом:

  • Перейдите на вкладку «Выполнить» на ленте.
  • Выберите Run Sub / UserForm из выпадающего списка.

UserForm

Создание макроса с помощью редактора VBA

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

VBA объекты и модули

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

  • Откройте книгу с поддержкой макросов первым макросом.
  • Нажмите вкладку РАЗРАБОТЧИК на ленте.
  • Нажмите Visual Basic в группе кода.

Объекты

Откроется окно редактора VBA.

Окно открывается

В окне Projects Explorer вы увидите следующее:

  • Книга с поддержкой макросов — MyFirstMacro.xlsm отображается как проект VBA.

  • Все рабочие листы и рабочая тетрадь отображаются в виде объектов Microsoft Excel в рамках проекта.

  • Модуль 1 появляется в разделе Модули. Ваш код макроса находится здесь.

  • Нажмите Module1.

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

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

Книга с поддержкой макросов — MyFirstMacro.xlsm отображается как проект VBA.

Все рабочие листы и рабочая тетрадь отображаются в виде объектов Microsoft Excel в рамках проекта.

Модуль 1 появляется в разделе Модули. Ваш код макроса находится здесь.

Нажмите Module1.

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

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

Код

Появляется код вашего макроса.

Код Макроса

Создание макроса путем кодирования

Затем создайте второй макрос в той же книге — на этот раз написав код VBA.

Вы можете сделать это в два этапа —

  • Вставьте командную кнопку.

  • Напишите код с указанием действий, которые должны выполняться при нажатии кнопки команды.

Вставьте командную кнопку.

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

Вставка командной кнопки

  • Создайте новый лист.

  • Нажмите на новый лист.

  • Нажмите кнопку РАЗРАБОТЧИК на ленте.

  • Нажмите «Вставить» в группе «Элементы управления».

  • Выберите значок кнопки в элементах управления формы .

Создайте новый лист.

Нажмите на новый лист.

Нажмите кнопку РАЗРАБОТЧИК на ленте.

Нажмите «Вставить» в группе «Элементы управления».

Выберите значок кнопки в элементах управления формы .

Вставка команды

  • Нажмите на листе, где вы хотите разместить командную кнопку.
  • Откроется диалоговое окно «Назначить макрос».

Button1_Click

Откроется редактор Visual Basic.

Visual Basic

Вы увидите следующее —

  • Новый модуль — Module2 вставлен в Project Explorer.
  • Появится окно кода с заголовком Module2 (Код).
  • Подпроцедура Button1_Click () вставлена ​​в код Module2.

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

Ваше кодирование наполовину сделано самим редактором VBA.

Например, введите MsgBox «С наилучшими пожеланиями!» В подпроцедуре Button1_Click (). Окно сообщения с заданной строкой будет отображаться при нажатии кнопки команды.

Окно сообщения

Это оно! Ваш код макроса готов к запуску. Как вам известно, код VBA не требует компиляции, так как работает с интерпретатором.

Запуск макроса из редактора VBA

Вы можете проверить свой макрос-код из самого редактора VBA.

  • Перейдите на вкладку «Выполнить» на ленте.

  • Выберите Run Sub / UserForm из выпадающего списка. Окно сообщения с введенной вами строкой появится на вашем листе.

Перейдите на вкладку «Выполнить» на ленте.

Выберите Run Sub / UserForm из выпадающего списка. Окно сообщения с введенной вами строкой появится на вашем листе.

Макрос из VBA

Вы можете видеть, что кнопка выбрана. Нажмите OK в окне сообщения. Вы вернетесь к редактору VBA.

Запуск макроса из рабочего листа

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

  • Нажмите где-нибудь на листе.
  • Нажмите кнопку. Окно сообщения появляется на листе.

Макрос из листа

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

Макросы Excel — Редактирование

Вы узнали, как писать код макроса в редакторе 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.
  • Нажмите кнопку «Выполнить». Макрос работает. Теперь нажатие кнопки не требуется.

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

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

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

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

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

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

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

Макросы Excel — пользовательские формы

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

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

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

Чтобы создать пользовательскую форму, выполните следующие действия:

  • Нажмите вкладку РАЗРАБОТЧИК на ленте.
  • Нажмите Visual Basic. Откроется окно Visual Basic для книги.
  • Нажмите Вставить,
  • Выберите UserForm из выпадающего списка.

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

Пользовательская форма появляется в правой части окна.

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

Понимание пользовательской формы

Разверните окно UserForm.xlsx — UserForm1.

Вы находитесь в режиме дизайна сейчас. Вы можете вставить элементы управления в пользовательскую форму и написать код для соответствующих действий. Элементы управления доступны в панели инструментов. Свойства UserForm находятся в окне свойств. UserForm1 (подпись UserForm) указывается в разделе «Формы» в проводнике проектов.

Понимание UserForm

  • Измените заголовок UserForm на Project Report — Daily в окне свойств.
  • Измените имя пользовательской формы на ProjectReport.

Отчет о проекте

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

Элементы управления в панели инструментов

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

Excel предоставляет два типа элементов управления — элементы управления формы и элементы управления ActiveX. Вы должны понимать разницу между этими двумя типами элементов управления.

Элементы управления формой

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

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

Элементы управления ActiveX

Элементы управления ActiveX могут использоваться в пользовательских формах VBA. Элементы управления ActiveX имеют широкие свойства, которые можно использовать для настройки их внешнего вида, поведения, шрифтов и других характеристик.

У вас есть следующие элементы управления ActiveX в UserForm ToolBox —

  • Указатель
  • этикетка
  • Текстовое окно
  • Поле со списком
  • ListBox
  • CheckBox
  • OptionButton
  • Рамка
  • Кнопка-переключатель
  • CommandButton
  • TabStrip
  • MultiPage
  • Полоса прокрутки
  • в полях ввода
  • Образ

В дополнение к этим элементам управления Visual Basic предоставляет функцию MsgBox, которую можно использовать для отображения сообщений и / или запроса пользователя о действии.

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

этикетка

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

пример

этикетка

Текстовое окно

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

пример

Текстовое окно

Список

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

  • Вставьте ListBox в пользовательскую форму.
  • Нажмите на список.
  • Введите ProjectCodes для Name в окне свойств ListBox.

Есть три типа списков —

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

  • Список выбора множественного выбора — Список списка множественного выбора включает либо один выбор, либо смежные (смежные) варианты.

  • Поле со списком расширенного выбора — Поле со списком расширенного выбора позволяет выбрать один, непрерывный и несмежный (или несвязанный) выбор.

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

Список выбора множественного выбора — Список списка множественного выбора включает либо один выбор, либо смежные (смежные) варианты.

Поле со списком расширенного выбора — Поле со списком расширенного выбора позволяет выбрать один, непрерывный и несмежный (или несвязанный) выбор.

Вы можете выбрать один из этих типов списков в окне свойств.

ListBox

  • Щелкните правой кнопкой мыши на пользовательской форме.
  • Выберите View Code из выпадающего списка. Откроется окно кода UserForm.
  • Нажмите Инициализировать в правом верхнем углу окна кода.
  • Введите следующее в Private Sub UserForm_Initialize ().
ProjectCodes.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5") 

инициализировать

  • Перейдите на вкладку «Выполнить» на ленте.
  • Выберите Run Sub / UserForm из выпадающего списка.

Выберите Run

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

Поле со списком

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

  • Вставьте ComboBox в пользовательскую форму.
  • Нажмите ComboBox.
  • Введите ProjectCodes2 для имени в окне свойств ComboBox.

Поле со списком

  • Щелкните правой кнопкой мыши на пользовательской форме.
  • Выберите View Code из выпадающего списка.
  • Откроется окно кода UserForm.

Введите следующее, как показано ниже.

ProjectCodes2.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5") 

Окно кода

  • Перейдите на вкладку «Выполнить» на ленте.
  • Выберите Run Sub / UserForm из выпадающего списка.

Запустить вкладку

Нажмите стрелку вниз, чтобы отобразить список элементов.

Нажмите стрелку вниз

Нажмите на нужный элемент, скажем, Project2016-5. Выбранная опция будет отображаться в поле со списком.

Обязательный пункт

CheckBox

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

Флажок может иметь два состояния:

  • Выбрано (включено), помечено галочкой в ​​поле
  • Очищено (выключено), обозначено прозрачной рамкой

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

  • Смешанный, означающий комбинацию включенных и выключенных состояний, обозначенную черной точкой в ​​поле. Это будет отображаться, чтобы указать несколько вариантов выбора в комбинированном окне с флажками.

  • Установите флажки в пользовательской форме, как показано ниже.

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

Установите флажки в пользовательской форме, как показано ниже.

CheckBox

  • Перейдите на вкладку «Выполнить» на ленте.
  • Выберите Run Sub / UserForm из выпадающего списка.
  • Нажмите на поля для выбранных вами вариантов.

Ящики

OptionButton

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

Кнопка выбора представлена ​​маленьким кружком. Кнопка выбора может иметь одно из следующих двух состояний:

  • Выбран (включен), обозначен точкой в ​​круге
  • Сброс (выключен), обозначается пробелом

Рамка

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

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

  • Вставьте рамку с надписью «Выбор».

  • Вставьте две кнопки с надписями «Да» и «Нет» в элементе управления кадром. Опции Да и Нет являются взаимоисключающими.

Вставьте рамку с надписью «Выбор».

Вставьте две кнопки с надписями «Да» и «Нет» в элементе управления кадром. Опции Да и Нет являются взаимоисключающими.

Рамка

  • Перейдите на вкладку «Выполнить» на ленте.
  • Выберите Run Sub / UserForm из выпадающего списка.
  • Нажмите на выбранный вами вариант.

Выбранный вариант

Кнопка-переключатель

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

Вставьте кнопку переключения на пользовательскую форму, как показано ниже —

TogglebButton

  • Перейдите на вкладку «Выполнить» на ленте.

  • Выберите Run Sub / UserForm из выпадающего списка. По умолчанию кнопка переключения будет в активированном состоянии.

Перейдите на вкладку «Выполнить» на ленте.

Выберите Run Sub / UserForm из выпадающего списка. По умолчанию кнопка переключения будет в активированном состоянии.

По умолчанию

Нажмите кнопку переключения. Кнопка переключения будет отключена.

Кнопка-переключатель

Если вы снова нажмете кнопку переключения, она будет включена.

CommandButton

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

Командная кнопка также называется кнопкой. Вставьте командную кнопку в пользовательскую форму, как показано ниже —

CommandButton

  • Щелкните правой кнопкой мыши на кнопке.
  • Введите следующий код в sub Commandbutton1_click ().
ProjectCodes2.DropDown 

CommandButton1

  • Перейдите на вкладку «Выполнить» на ленте.
  • Выберите Run Sub / UserForm из выпадающего списка.

Ежедневный отчет

Нажмите кнопку команды. Откроется выпадающий список со списком, так как это действие, которое вы написали в коде.

Поле со списком

TabStrip

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

Полоса прокрутки

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

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

Полоса прокрутки

  • Щелкните правой кнопкой мыши по полосе прокрутки.
  • Выберите View Code из выпадающего списка. Откроется окно кода.
  • Добавьте следующую строку под sub ScrollBar1_Scroll ().
TextBox2.Text = "Scrolling Values" 

Значение прокрутки

  • Перейдите на вкладку «Выполнить» на ленте.
  • Выберите Run Sub / UserForm из выпадающего списка.

Отчет ScrollBar

Перетащите поле прокрутки. Текст — Значения прокрутки будут отображаться в текстовом поле, как вы указали его в качестве действия для прокрутки полосы прокрутки.

Текстовое окно

MsgBox ()

Вы можете использовать функцию MsgBox () для отображения сообщения, когда вы нажимаете на что-то. Это может быть руководство или некоторая информация или предупреждение или предупреждение об ошибке.

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

Функция MsgBox

Отображается значок окна сообщения

Вы можете использовать значки сообщений в окне, которые изображают конкретное сообщение. У вас есть несколько значков сообщений в соответствии с вашими целями —

  • Введите следующий код в ScrollBar1_scroll.
MsgBox "Select Ok or Cancel", vbOKCancel, "OK  - Cancel Message" 
MsgBox "It's an Error!", vbCritical, "Run time result" 
MsgBox "Why this value", vbQuestion, "Run time result" 
MsgBox "Value Been for a Long Time", vbInformation, "Run time result" 
MsgBox "Oh Is it so", vbExclamation, "Run time result" 
  • Перейдите на вкладку «Выполнить» на ленте.
  • Выберите Run Sub / UserForm из выпадающего списка.
  • Перетащите поле прокрутки.

Вы получите следующие сообщения последовательно.

Окна сообщений

Разработка UserForm

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

Обратитесь к учебнику VBA в этой библиотеке учебников для примера UserForm.

Макросы Excel — отладка кода

Вы узнали, что макрос хранится в виде кода VBA в Excel. Вы также узнали, что можете напрямую написать код для создания макроса в редакторе VBA. Однако, как и в случае с любым кодом, даже код макроса может иметь дефекты, и макрос может работать не так, как вы ожидали.

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

Отладка VBA

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

  • Пошаговое выполнение кода
  • Использование точек останова
  • Резервное копирование или движение вперед в коде
  • Не переступая через каждую строку кода
  • Запрашивать что-либо во время пошагового выполнения кода
  • Остановка казни

Это лишь некоторые из задач, которые вы можете выполнять в среде отладки VBA.

Пошаговое выполнение кода

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

Вы можете перейти к коду из диалогового окна «Макрос» в рабочей книге или из самого редактора VBA.

Войдя в код из рабочей книги

Чтобы войти в код из рабочей книги, выполните следующие действия:

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

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

  • Нажмите на имя макроса.
  • Нажмите кнопку Шаг в.

Шаг в

Откроется редактор VBA и в окне кода появится код макроса. Первая строка в коде макроса будет выделена желтым цветом.

Макрос код

Шаг в код от редактора VBA

Чтобы войти в код из редактора VBA, выполните следующие действия:

  • Нажмите вкладку РАЗРАБОТЧИК на ленте.
  • Нажмите Visual Basic. Откроется редактор VBA.
  • Нажмите на модуль, который содержит код макроса.

Код макроса появится в окне кода.

Шагая

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

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

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

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

Падать

Первая строка в коде макроса будет выделена. Код находится в режиме отладки, и параметры в раскрывающемся списке «Отладка» станут активными.

активный

Резервное копирование или движение вперед в коде

Вы можете двигаться вперед или назад в коде, выбрав Step Over или Step Out.

Не переступая через каждую строку кода

Вы можете избежать пошагового прохождения каждого строкового кода, если вы идентифицируете потенциальную часть кода, которую необходимо обсудить, выбрав Run to Cursor.

Использование точек останова

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

Использование часов

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

Остановка казни

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

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

Макросы Excel — Настройка макроса

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

Вы также можете написать код VBA для той же цели с помощью события Open рабочей книги. Событие Open запускает код в подпроцедуре Workbook_Open () каждый раз, когда вы открываете книгу.

Запись макроса Auto_Open

Вы можете записать макрос Auto_Run следующим образом —

  • Нажмите вкладку VIEW на ленте.
  • Нажмите Макросы.
  • Нажмите Запись макроса. Откроется диалоговое окно «Запись макроса».
  • Введите Auto_Run в качестве имени макроса.
  • Введите описание и нажмите ОК.

Auto_Open

  • Начните запись макроса.
  • Остановить запись.
  • Сохранить рабочую книгу как макрокоманду.
  • Закройте рабочую книгу.
  • Откройте рабочую книгу. Макрос Auto_Run запустится автоматически.

Если вы хотите, чтобы Excel запускался без запуска макроса Auto_Open, удерживайте клавишу SHIFT при запуске Excel.

Ограничения Auto_Open Macro

Ниже приведены ограничения макроса Auto_Open:

  • Если рабочая книга, в которой вы сохранили макрос Auto_Open, содержит код для события Open книги, код события Open переопределит действия в макросе Auto_Open.

  • Макрос Auto_Open игнорируется, когда книга открывается при запуске кода, использующего метод Open.

  • Макрос Auto_Open запускается до открытия любых других книг. Следовательно, если вы записываете действия, которые вы хотите, чтобы Excel выполнял в книге Book1 по умолчанию или в книге, загруженной из папки XLStart, макрос Auto_Open завершится ошибкой при перезапуске Excel, поскольку макрос запускается до открытия книг по умолчанию и запуска книг. ,

Если рабочая книга, в которой вы сохранили макрос Auto_Open, содержит код для события Open книги, код события Open переопределит действия в макросе Auto_Open.

Макрос Auto_Open игнорируется, когда книга открывается при запуске кода, использующего метод Open.

Макрос Auto_Open запускается до открытия любых других книг. Следовательно, если вы записываете действия, которые вы хотите, чтобы Excel выполнял в книге Book1 по умолчанию или в книге, загруженной из папки XLStart, макрос Auto_Open завершится ошибкой при перезапуске Excel, поскольку макрос запускается до открытия книг по умолчанию и запуска книг. ,

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

Код VBA для открытого события рабочей книги

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

Откройте книгу, в которой вы сохранили макрос, который вы написали для абсолютных ссылок — Report_ProjectXYZ. Когда этот макрос выполняется, новый лист будет добавлен в рабочую книгу, а структура отчета проекта появится на новом листе.

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

Следуйте приведенной ниже процедуре в редакторе VBA.

  • Дважды щелкните ThisWorkbook в Projects Explorer.

  • В окне кода выберите Workbook в левом раскрывающемся списке и Open в правом раскрывающемся списке. Sub Workbook_Open () появляется.

Дважды щелкните ThisWorkbook в Projects Explorer.

В окне кода выберите Workbook в левом раскрывающемся списке и Open в правом раскрывающемся списке. Sub Workbook_Open () появляется.

Workbook_Open

  • Нажмите Модули в проводнике проектов.

  • Дважды щелкните по имени модуля, содержащего код макроса.

  • Скопируйте код макроса из модуля и вставьте его в Sub WorkBook_Open ().

Нажмите Модули в проводнике проектов.

Дважды щелкните по имени модуля, содержащего код макроса.

Скопируйте код макроса из модуля и вставьте его в Sub WorkBook_Open ().

Sub Workbook_open

Сохраните книгу с поддержкой макросов. Откройте его снова. Макрос запускается и вставляется новый лист со структурой отчета.