Листинг 1. Макрос, активизирующий рабочий Лист2, стандартный модуль



Sub АктивизацияЛиста()

'

' АктивизацияЛиста Макрос

' Макрос "Активизация листа" нужен для того, чтобы активизировать другой лист

'

 

'

Sheets("Лист2").Select

End Sub

 

 

Рис. 2. Окно редактора VBA c активизированным стандартным модулем.

7) Теперь не закрывая данной рабочей книги, создайте ещё одну рабочую книгу для этого щелкните на кнопке Office
и далее выполните команду: Создать → в группе Пустые и последние выберите Новая книга  нажмите кнопку Создать.

8) В открывшемся файле перейдите на вкладку Разработчик → Код → далее щелкните по кнопкеМакросы.

9) В открывшемся окне Макрос(рис. 3) укажите имя созданного макроса и убедитесь, что в вашей рабочей книге макрос активизировал Лист2.

 

 

Рис. 3. Окно Макросс указанием имени выбранного макроса.

Примечание: выполнив команду: Разработчик → Код → Безопасность макросов вы откроете диалоговое окно
Центр обеспечения безопасностью макросов. В этом диалоговом окне вы всегда можете выбрать требуемый параметр, чтобы предотвратить выполнение вредоносного кода, который может содержаться в файле, полученном из неизвестных источников. Выбирая слева в окне окно Центр обеспечения безопасностью макросовкатегорию
Надежные расположения и нажав кнопку Добавить новое расположение, можно указать путь, откуда ваши файлы, содержащие код VBA будут открываться без блокирования соответствующих действий, см. рис. 4:

 

 

Рис. 4. В диалоговом окне Центр обеспечения безопасностью выбрана категория Надежные расположения.

10) Теперь назначим созданный макрос кнопке, которая будет размещена на панели быстрого доступа. Для этого щелкните правой кнопкой мыши на панели быстрого доступа и выберите команду Настройка панели быстрого доступа.

11) В открывшемся окне Параметры Excel (см. рис. 5), в поле Выбрать команды выберите объект Макросы.

 

 

Рис. 5. Выбор объекта Макросы в окне Параметры Excelв категории Настройка.

12) Выберите в левом столбце созданный вами макрос АктивизацияЛиста и с помощью кнопки Добавить перенесите его в правый столбец. Обратите внимание, что внизу правого столбца стала доступной команда Изменить: она служит для назначения кнопки соответствующему макросу. Нажмите кнопку Изменить.

13) В открывшемся окне Изменение кнопки(рис. 6) укажите мышью символ для кнопки макроса. При необходимости
в поле Отображаемое имя можно изменить имя макроса, которое будет всплывающей подсказкой на панели быстрого доступа. Нажмите ОК. В результате диалоговое окно примет вид как на рис. 7 (кнопка макроса отображается в правом столбце). Нажмите ОК.

 

 

Рис. 6. Вид диалогового окна Изменение кнопки.

Рис. 7. Кнопка для макроса в окне Параметры Excel в категории Панель быстрого доступа.

14) Убедитесь, что кнопка с записанным макросом появилась на панели быстрого доступа (см. рис. 8) и её нажатие приводит к выполнению записанных вами действий.

 

 

Кнопка созданного макроса АктивизацияЛиста на панели быстрого доступа

 


Рис. 8. Кнопка созданного макроса на панели быстрого доступа.

 

Немного теории.

Итак, макрос нами создан. Макрорекордер, который мы использовали, создал в модуле процедуру.

Структура кода процедуры.

           В общем случае процедура имеет вид:

Sub ИмяПроцедуры (СписокПараметров)

Инструкции

End Sub

- СписокПараметров –  это список параметров, от которых зависит функция. Разделителем в списке является запятая. Список параметров может и отсутствовать – быть пустым (см. листинг 1).

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

Процедура обработки события.

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

[Private] Sub ИмяОбъекта_ИмяСобытия (СписокПараметров)

Инструкции

End Sub

Ключевое слово Private является модификатором доступа и обозначает, процедура видна другим процедурам только в модуле, в котором она располагается. Например, процедура обработки события активизации рабочего листа имеет вид:

Private Sub Worksheet_Activate ( )

Инструкции

End Sub

Процедура обработки события.

MS Office 2007 обладает также и полноценным набором различных элементов управления: кнопка, поля
со списком, переключатель, флажок и т.д., которые при необходимости можно разместить на рабочем листе.

Для того, чтобы увидеть список доступных элементов управления выполните команду: Разработчик → Элементы управления → Вставить, см. рис. 9:

 

Рис. 9. Коллекция элементов управления MS Office 2007.

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

Некоторые из них вообще не могут использоваться в документах Excel последних версий (например, Edit Box (поле ввода), Combination List-Edit (поле ввода со списком) и Combination Drop-Down Edit (поле ввода
с раскрывающимся списком).

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

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

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

Рассмотрим небольшой пример использования элемента управления Кнопка (CommandButton) , а также события, связанного с ней – Click, которое генерируется при нажатии кнопки.

Пример 2.

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

Продемонстрируем использование на рабочем листе элемента управления Кнопка (CommandButton) из группы Элементы ActiveX. Пусть при нажатии на элемент управления Кнопка будет активизироваться рабочий Лист3.

Для этого:

1) Запустите MS Excel 2007 и убедитесь, что указатель ячейки находится на рабочем листе Лист2.

2) Выполните команду: Разработчик → Элементы управления → Вставить.

3) Нажмите элемент управления Кнопка (CommandButton)  из группы Элементы ActiveX и перейдите
на непосредственно на рабочий лист, указатель при этом приобретает вид тонкого крестика.

4) Выберите место на рабочем листе и, не отпуская левую кнопку мыши, нарисуйте кнопку необходимого размера, после чего отпустите кнопку мыши. Обратите внимание, что после появления элемента управления Кнопка (CommandButton) на рабочем листе кнопка Режим конструктора стала активной. На поверхности первого созданного элемента управления появилась надпись CommandButton1. Если создать ещё один элемент управления Кнопка (CommandButton), то он будет называться: CommandButton2, следующий CommandButton3 и т.д.

Примечание: если кнопку рисовать, как и любой графический объект, при нажатой клавише Shift, то это обеспечит ей квадратную форму. А при нажатой клавише Alt, кнопка будет привязана к сетке рабочего листа. Созданную кнопку можно перемещать при помощи маркера перемещения, а при помощи маркеров размеров задавать её размеры.

5) Щелкните правой кнопкой мыши на созданной кнопке и из появившегося контекстного меню выберите команду Свойства (Properties) для открытия окна Properties, см. рис. 10:

 

Рис. 10. Элемент управления Кнопкаи соответствующее ему окно свойств Properties.

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

Кроме того, элемент управления Кнопка имеет свойство Name, которое идентифицирует его как объект. В данном случае, оно также равно CommandButton1. Измените в открытом окне Properties значение свойства Caption, т.е. надпись, отображаемую на поверхности кнопки с CommandButton1 на Лист3 (для того, чтобы подчеркнуть, что эта кнопка будет активизировать рабочий лист Лист3). При желании можете поэкспериментировать со следующими свойствами элемента

управления Кнопка: BackColor, Font, ForeColor, Shadow. Закройте окно свойств Properties.

Примечание: для открытия окна Propertiesможно также выделить мышью требуемый элемент управления в режиме конструктора (для перехода в режим конструктора выберите на вкладке Разработчик ленты,раздел Элементы управления, далее щелкните мышью на кнопке Режим конструктора), а затем выполните команду:
Разработчик ленты → Элементы управления → щелкните на кнопке Свойства.

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

Для этого щелкните два раза на созданной кнопке (напоминаем, что в этом случае кнопка Режим конструктора в разделе Элементы управления на вкладке Разработчик является нажатой): откроется редактор VBA
с активизированным модулем рабочего листа (в данном случае Лист1), в который автоматически добавились первая
и последняя процедуры обработки события «нажатие кнопки» (Click) , см. листинг 2 а):


Дата добавления: 2018-04-05; просмотров: 398; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!