Начало редактирования макроса — КиберПедия 

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Начало редактирования макроса

2021-04-19 100
Начало редактирования макроса 0.00 из 5.00 0 оценок
Заказать работу

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

1. На вкладке Разработчик в группе Код нажмите кнопку Макросы.

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

3. Нажмите кнопку Изменить, чтобы открыть редактор Visual Basic.

Редактор Visual Basic

Чтобы открыть окно редактора Visual Basic (Рисунок 10.5), вы можете выполнить одно из следующих действий:

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

Ø Нажмите комбинацию клавиш [ Alt ]+[ F 11] на клавиатуре.

 

Excel откроет отдельное окно, которое разделено на три основных области:

· Окно документа – это место, где появляется ваш код.

· Окно проекта содержит все ваши проекты.

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

Окно проекта
Окно документа
Окно свойств

Рисунок 10.5. Окно редактора Visual Basic

Каждый проект книги в окне проекта содержит одну или две папки:

· Папка Microsoft Excel Objects присутствует всегда и содержит отдельный элемент для каждого листа в книге. Вы можете использовать эти элементы для присоединения кода, который реагирует на определенное событие листа. Папка Microsoft Excel Objects также содержит один объект книги ThisWorkBook, с помощью которого вы можете реагировать на события книги.

· Папка Modules это вторая папка в проекте книги. Она появляется, только если вы создали макрос для данной конкретной книги. Модули содержат макрокод, который появляется при создании макроса. Каждый модуль содержит одну или более подпрограмм VBA. Каждая подпрограмма является именованным фрагментом кода, который выполняет конкретную задачу. Все подпрограммы начинаются со слова Sab. Например:

Sub MyMacro

‘ Здесь код вашего макроса.

End Sub

 

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

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

! Чтобы открыть справку во время работы с редактором Visual Basic, в меню Help ("Справка") выберите пункт Microsoft Visual Basic Help ("Справка по Microsoft Visual Basic") или нажмите клавишу F1.

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

Вы можете использовать Visual Basic для запуска любого макроса. Для этого откройте модуль, который содержит желаемый макрос, прокрутите окно кода и щелкните мышью, чтобы поместить курсор в любом месте внутри макроса. На панели инструментов Visual Basic нажмите кнопку Run (Рисунок 10.6).

Рисунок 10.6. Запуск макроса на выполнение

 

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

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

1. Откройте макрос и щелкните мышью в любом месте внутри кода.

2. В меню Debug выберите команду Step Into или нажмите клавишу [ F8 ]. Excel подсветит первую строчку макроса (выражение Sub) желтым цветом и поместит рядом с ней стрелку. Стрелка означает, что строка готова к выполнению (Рисунок 10.7).

Рисунок 10.7. Отладка макроса

 

3. Нажмите клавишу [F8] для выполнения подсвеченной строки.

! Как только Excel выполнит эту строку, он перейдет к следующей строке и подсветит ее желтым цветом.

! В процессе перехода вы можете перейти в книгу, чтобы посмотреть результат выполнения предыдущей строки. Будьте осторожны, чтобы не изменить что-нибудь на вашем листе. Затем вернитесь в редактор Visual Basic и продолжите отладку.

! В любой момент вы можете нажать кнопку Run, чтобы выполнить оставшуюся часть кода, или нажать клавишу [ F 5]

! Чтобы отказаться от выполнения макроса нажмите кнопку остановки Reset.

Макрокоды

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

1. Sub ФорматСтрок()

2. ‘ ФорматСтрок Макрос

3. ‘ Keyboard Shortcut: Ctrl+F

4. ActiveCell.Rows.EntireRow.Select

5. Selection.Interior.ColorIndex = 37

6. Selection.Interior.Pattern = xlSolid

7. ActiveCell.Offset(2, 0).Select

8. End Sub

Рассмотрим код этого макроса:

· Строка 1 начинает макрос и определяет его имя - ФорматСтрок.

· Строки 2-3 – содержат комментарии.

· В строке 4 используется объект ActiveCell, представляющий собой активную ячейку листа. С помощью свойств этого объекта мы получаем возможность доступа ко всей текущей строке - Rows. EntireRow. А, применив метод Select, мы выделяем эту строку.

· В строке 5 используется объект Selection, который мы получили в результате выполнения шага 4. Используя свойства этого объекта мы получаем возможность изменить цвет фона выделенных ячеек на голубой - ColorIndex = 37.

· В строке 6 мы также работаем с объектом Selection, устанавливая тип заливки фона выделенных ячеек – Pattern = xlSolid (сплошная заливка).

· Строка 7 возвращается к объекту ActiveCell и использует его свойство Offset для перехода на две строки ниже текущей ячейки.

· Строка 8 означает конец макроса.

Таким образом, основным элементом кода являются объекты. В макросе ФорматСтрок все действия выполняются над двумя объектами:

· ActiveCell - связывает воедино все, что вы можете делать с активной ячейкой листа;

· Selection - предлагает возможности для изменения группы выделенных ячеек, включая изменение их границ, цветов фона и шрифта.

 

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

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

Например, рассмотрим выражение Selection.Interior.ColorIndex = 35

В данном примере задействованы два объекта. Объект Selection содержит другой объект, названный Interior. Чтобы изменить цвет фона ячеек, вы не можете использовать объект Selection. Вам нужно свойство ColorIndex, которое является частью объекта Interior. Вот почему выражение содержит две точки. Первая обеспечивает доступ к объекту Interior, вторая – к свойству ColorIndex.

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

Язык VBA

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

Рассмотрим на нескольких примерах, как работает типичный макрос. Следующая подпрограмма вставляет текст “ Hello World! ” в активную ячейку:

Sub MyMacro()

   ActiveCell.Value = “Hello World”

End Sub

С помощью объекта ActiveCell вы можете сделать с текущей выделенной ячейкой все, что угодно. Если вы хотите поменять содержимое других ячеек, используйте свойство Offset для смещения к ним. Следующий макрос помещает фразу «Верхняя ячейка» в активную ячейку и фразу «Нижняя ячейка» в ячейку, которая находится непосредственно под ней:

Sub MyMacro()

‘ Изменить активную ячейку

   ActiveCell.Value = “Верхняя ячейка”

‘ Изменить ячейку ниже активной

   ActiveCell. Offset(1,0) = “Нижняя ячейка”

End Sub

Макроязык VBA не является единственным возможным инструментом для программирования в Excel. Фактически, существует множество более мощных способов принять на себя управление Excel. Это взаимодействие через COM-объекты, создания умных документов (smart document).

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

Существует несколько способов выполнения макроса в Microsoft Excel:

· С помощью команды Макросы на ленте (группа Код на вкладке Разработчик).

· С помощью сочетаний клавиш с клавишей CTRL

· С помощью кнопки на панели быстрого доступа

· С помощью кнопки в настраиваемой группе на ленте,

· По щелчку области объекта, графического объекта или элемента управления.

· Кроме того, макросы можно запускать автоматически при открытии книги.


Поделиться с друзьями:

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

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

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.032 с.