- •Что такое Visual Basic for Applications
- •Автоматизация среды Excel
- •Запись простого макроса
- •Выполнение макросов
- •Просмотр кода макроса
- •Редактирование кода макроса
- •Ограниченность макросов
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Назначение макросам комбинаций клавиш
- •Где хранить макросы
- •Создание личной книги макросов
- •Сохранение макросов в личной книге макросов
- •Выполнение макросов из личной книги макросов
- •Редактирование макросов в личной книге макросов
- •Удаление макросов из личной книги макросов
- •Назначение макросов командным кнопкам
- •Назначение макроса графическим изображениям
- •Назначение макросов кнопкам панелей инструментов
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Введение в процесс разработки приложений
- •Кто будет использовать приложение
- •Откуда будут поступать данные для приложения
- •Где и как будут храниться данные, полученные с помощью приложения
- •Как данные будут обрабатываться приложением
- •Вид выходных данных
- •Типы элементов управления
- •Вставка элементов управления в рабочий лист
- •Форматирование элементов управления
- •Имена элементов управления
- •Экранные формы
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Модуль: дом для кода vba
- •Обзор процедур
- •Создание процедур
- •Выполнение процедуры
- •Сохранение изменений в модуле
- •Переменные
- •Типы данных
- •Объявление переменных
- •Соглашения об именах переменных
- •Массивы
- •Присвоение значений переменным
- •Использование констант
- •Область видимости переменных и констант
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Функция MsgBox
- •Функция InputBox
- •Метод InputBox
- •Именование аргументов
- •Объединение текстовых строк
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Управление выполнением приложения
- •Оператор If
- •Оператор Select Case
- •Использование встроенных диалоговых окон Excel
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Оператор For…Next
- •Оператор Do... Loop
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Что такое объект
- •Объекты, свойства и методы
- •Объектная модель Excel
- •Пять наиболее часто используемых объектов
- •Как понимать иерархию объектной модели
- •Ссылка на объекты в коде vba
- •Работа с объектами
- •Задание свойств объекта
- •Использование методов
- •Справочная информация о свойствах и методах
- •Переменные-объекты
- •1: Sub ПримерПеремОбъекта()
- •Коллекции
- •Метод Add
- •Свойство Count
- •1: Sub КоличРабЛистов()
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Объект Application
- •Использование встроенных функций Excel
- •Свойства и методы объекта Application
- •Объект Workbook
- •Объект Worksheet
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Описание объекта Range
- •Свойства объекта Range
- •Методы объекта Range
- •Использование оператора With
- •Оператор For Each
- •Использование объекта Range
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Панели инструментов
- •Просмотр кода
- •Использование справочной системы
- •Просмотр объектов
- •Параметры редактора Visual Basic
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Тестирование и отладка как этап разработки приложений
- •Отладка
- •Режим останова
- •Использование окна Immediate
- •Просмотр значений в окне Immediate
- •Пошаговое выполнение программ
- •Наблюдение за переменными
- •Исправление ошибок
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Понятие об обработке ошибок
- •Перехват ошибок
- •Написание процедуры обработки ошибся
- •Выход из обработчика ошибок
- •Пример обработчика ошибок
- •Централизованный обработчик ошибок
- •Вопрос и ответы
- •Практикум
- •Упражнение
- •Вставка экранных форм в приложения
- •Свойства экранной формы
- •Выполнение экранной формы
- •Вставка элементов управления в экранную форму
- •Свойства элементов управления
- •Свойства командных кнопок
- •Свойства переключателей
- •Блокировка элементов управления
- •Экранные подсказки к элементам управления
- •Задание порядка обхода элементов формы
- •Назначение быстрых клавиш элементам формы
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Инициализация значений экранной формы
- •Вызов экранной формы
- •Управление поведением формы
- •Проверка вводимых данных
- •Сохранение данных, введенных в форму
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Настройка панелей инструментов
- •Создание панелей инструментов
- •Процедуры, управляющие панелями инструментов
- •Создание панели инструментов
- •Удаление панели инструментов
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Способы изменения меню
- •Программная работа с меню
- •Добавление пунктов и команд меню
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Создание диаграмм
- •Запись макроса построения диаграмм
- •Код макроса
- •Изменение кода макроса
- •Усовершенствованная процедура построения диаграмм
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Работа со сводной таблицей
- •Основы сводных таблиц
- •Запись макроса для создания сводной таблицы
- •Исследование кода макроса
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Базы данных, доступные из Excel
- •Средства доступа к внешним данным
- •Использование ms Query
- •Код записанного макроса
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Что такое ado
- •Объекты доступа к базам данных
- •Использование ado
- •Создание ссылки на библиотеку ado
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Вставка полей в экранную форму
- •Перемещение по записям
- •Редактирование данных
- •Добавление средства поиска
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Что такое автоматизация
- •Основы автоматизации
- •Ссылка на библиотеку объектов приложения-сервера
- •Просмотр библиотеки объектов
- •Создание экземпляра приложения-сервера
- •Использование объектов Microsoft Word
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Автоматическое выполнение процедур
- •Процедуры, выполняемые при наступлении событий
- •Создание надстроек Excel
- •Упражнение
- •Приложение. Ответы Ответы к 1-му часу Тесты
- •Ответы ко 2-му часу Тесты
- •Ответы к 3-му часу Тесты
- •Ответы к 4-му часу Тесты
- •Упражнение
- •Ответы к 5-му часу Тесты
- •Упражнение
- •Ответы к 6-му часу Тесты
- •Упражнение
- •Ответы к 7-му часу Тесты
- •Упражнение
- •Ответы к 8-му часу Тесты
- •Упражнение
- •Ответы к 9-му часу Тесты
- •Упражнение
- •Ответы к 10-му часу Тесты
- •Упражнение
- •Ответы к 11-му часу Тесты
- •Упражнение
- •Ответы к 12-му часу Тесты
- •Упражнение
- •Ответы к 13-му часу Тесты
- •Упражнение
- •Ответы к 14-му часу Тесты
- •Ответы к 15-му часу Тесты
- •Упражнение
- •Ответы к 16-му часу Тесты
- •Упражнение
- •Ответы к 17-му часу Тесты
- •Упражнение
- •Ответы к 18-му часу Тесты
- •Упражнение
- •Ответы к 19-му часу Тесты
- •Упражнение
- •Ответы к 20-му часу Тесты
- •Упражнение
- •Ответы к 21-му часу Тесты
- •Упражнение
- •Ответы к 22-му часу Тесты
- •Упражнение
- •Ответы к 23-му часу Тесты
- •Упражнение
- •Ответы к 24-му часу Тесты
- •Упражнение
Назначение макроса графическим изображениям
Вы не ограничены использованием только командных кнопок для выполнения макросов. Любые изображения, находящиеся на рабочем листе, могут быть использованы для выполнения макросов. Например, если вы создаете макросы для анализа данных, относящихся к различным компаниям, то можете использовать логотип компании как кнопку, щелчок на которой вызывает выполнение соответствующего макроса. Для назначения макроса графическому изображению выполните следующие действия.
-
Выделите ячейку рабочего листа, где будет вставлено изображение.
-
Выполните команду Вставка > Рисунок.
-
Выберите команду Картинки или Из файла.
-
Выберите изображение для вставки в рабочий лист.
-
После того как изображение будет вставлено в рабочий лист, измените его размеры, чтобы они составляли примерно 5×5 см.
Рис. 2.6. Любое графическое изображение можно использовать для выполнения макроса
-
Щелкните правой кнопкой мыши на изображении и в открывшемся контекстном меню выберите команду Назначить макрос. Отобразится диалоговое окно Назначить макрос объекту.
-
Выберите макрос БольшойШрифт и щелкните на кнопке ОК.
-
Щелкните вне графического изображения, чтобы снять с него выделение.
-
Введите число 100 в ячейку А9.
-
Выделите ячейку А9 и щелкните на графическом изображении. Макрос БольшойШрифт должен выполниться. Рабочий лист с графической "кнопкой" показан на рис. 2.6.
Когда вы начнете писать настоящие процедуры VBA, то с помощью описанной здесь техники сможете назначать эти процедуры графическим изображениям и командным кнопкам.
Назначение макросов кнопкам панелей инструментов
Если не хотите использовать командные кнопки или графические изображения для выполнения макросов, то у вас есть альтернатива. Можно назначить макрос кнопке панели инструментов. Excel позволяет изменять панели инструментов путем добавления на них новых кнопок. Затем можно назначить новой кнопке макрос. Чтобы воспользоваться этой возможностью, выполните следующую последовательность действий.
-
Выполните команду Сервис > Настройка. Появится диалоговое окно Настройка.
Для отображения диалогового окна Настройка можно также щелкнуть правой кнопкой мыши на любой панели инструментов или строке меню и выбрать команду Настройка из контекстного меню.
-
Перейдите на вкладку Команды (рис. 2.7)
Рис. 2.7. Это диалоговое окно позволяет добавлять кнопки на существующие панели инструментов и создавать новые панели
-
В списке Категории выберите пункт Макросы.
-
В списке Команды выберите команду Настраиваемая кнопка.
-
Перетащите команду Настраиваемая кнопка на какую-либо панель инструментов.
-
Щелкните правой кнопкой мыши на вновь добавленной кнопке.
-
В контекстном меню кнопки выполните команду Выбрать значок для кнопки и в открывшейся палитре значков выберите изображение, которое будет отображаться на кнопке.
-
Снова щелкните правой кнопкой мыши на новой кнопке и выполните команду Назначить макрос. Откроется одноименное диалоговое окно.
-
Выберите макрос БольшойШрифт и щелкните на кнопке ОК.
-
Щелкните на кнопке Закрыть диалогового окна Настройка.
-
В ячейку А11 введите число 200.
-
Выделите ячейку А11 и щелкните на новой кнопке. Макрос БольшойШрифт должен выполниться.
Резюме
В этом часе мы изучили две основные темы. Сначала мы рассмотрели различные возможности сохранения макросов, а затем изучили несколько вариантов выполнения макросов (обычно макросы выполняются с помощью команды Сервис > Макрос > Макросы). Теперь вы знаете, как назначить макросу комбинацию клавиш, как назначить макрос командной кнопке, графическому изображению или кнопке панели инструментов. Не забывайте, что вы можете использовать эти приемы и для выполнения процедур, написанных на языке VBA.