Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA (методичка).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.3 Mб
Скачать

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

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

  1. Выполните команду Вид – панели инструментов – Настройка. Появится диалоговое окно Настройка.

  2. Щелкните по вкладке Команды диалогового окна Настройка.

  3. Щелкните на категорию Макросы.

  4. В списке Команды выделите пиктограмму настраиваемая кнопка и перетащите ее на панель инструментов.

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

  6. Выберите имя макроса из списка макросов и щелкните по кнопке ОК.

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

  8. Щелкните по кнопке Закрыть для выхода из диалогового окна Настройка.

2.Как работает vba

  • Необходимые действия записываются в виде команд на листе модуля VBA, после чего макрос запускается на выполнение одним из способов:

    • при помощи комбинации клавиш на клавиатуре,

    • при помощи кнопки на панели инструментов,

    • при помощи выбора в меню Сервис – Макрос – Макросы

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

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

  • Объекты имеют свою иерархию. В основе иерархии лежит способность одних объектов служить контейнерами для других объектов (т.е. содержать другие объекты).

Например, Excel – это объект, который называется приложением (Application).

Она содержит другие объекты – такие как рабочие книги (Workbook).

Рабочие книги содержат рабочие листы (WorkSheet), диаграммы (Chart) и др.

Рабочие листы содержат такие объекты, как диапазоны ячеек (Range), сводные таблицы (PivotTable) и др.

Иерархия всех этих объектов называется объектной моделью.

Рисунок 4. Объектная модель Excel

Рисунок 5. Объекты рабочей книги

Рисунок 6. Объекты диаграмм

Рисунок 7. Объекты формы

Рисунок 8. Объекты группы диаграмм

  • Подобные друг другу объекты составляют коллекцию. Например, коллекция WorkSheers содержит вые листы рабочей книги. Коллекция CommandBars содержит все объекты CommandBar (т.е. строки меню и панели инструментов). При этом коллекции сами являются объектами.

Основные объекты и коллекции:

    • AddIns (Коллекция объектов Надстройка);

    • Windows (Коллекция объектов Окно);

    • WorkSheetFunction (Функции рабочего листа);

    • WorkBooks (Коллекция объектов Рабочая книга);

    • Charts (Коллекция объектов Диаграмма);

    • Names (Коллекция объектов Имя);

    • Styles (Коллекция объектов Стиль);

    • WorkSheets (Коллекция объектов Рабочий лист);

    • PageSetup (Параметры таблицы);

    • PivotTables (Коллекция объектов Сводная таблица);

    • Range (Диапазон).

  • Для обращения к объекту нужно указать его положение в иерархии объектов, используя точку в качестве разделителя.

Например, для обращения к рабочей книге под именем Книга1.xls, нужно записать:

Application.WorkBooks(“Книга1”)

Для обращения к рабочему листу (Лист1) этой книги следует указать:

Application.WorkBooks(“Книга1”).WorkSheets(“Лист1”)

Для обращения к ячейке A1 на этом листе следует указать:

Application.WorkBooks(“Книга1”).WorkSheets(“Лист1”).Range(“A1”)

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

Например, если Книга1 – это активная книга, то предыдущее описание можно упростить:

WorkSheets(“Лист1”).Range(“A1”)

Если Лист1 – это активный рабочий лист, то можно еще более упростить обращение:

Range(“A1”)

  • Объекты имеют свойства. Свойства – это параметры объектов. Например, объект Range (диапазон) имеет такие свойства, как Value (значение) и Name (имя). Объект Chart (диаграмма) имеет такие свойства, как HasTitle (заголовок) и Type (тип). C помощью VBA можно не только определять свойства объектов, но и изменять их.

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

Например, можно обратиться к значению (свойство Value), находящемуся в ячейке A1 на листе Лист1, следующим образом:

WorkSheets(“Лист1”).Range(“A1”).Value

Некоторые свойства являются неизменяемыми, т.е. доступными только для чтения. Их значения можно узнать, но нельзя изменить. Например, для диапазона, состоящего из одной ячейки, свойство Row (Строка) и Column (Столбец) являются неизменяемыми.

Значения других свойств можно изменять. Например, диапазон имеет свойство Formula (Формула), которое можно изменить, т.е. можно вставить формулу в ячейку, изменив свойство Formula этой ячейки:

Range(“Итог”).Formula=”=SUM(A1:A10)”