- •1. Основные термины и обозначения
- •1.1. Интерфейс программы
- •1.2. Рабочая книга
- •Контрольные вопросы
- •2. Ввод и форматирование данных
- •2.1. Общие положения
- •2.2. Ввод и форматирование текста
- •2.3. Ввод и форматирование чисел
- •2.4. Процедура автозаполнения
- •2.5. Формулы
- •2.6. Встроенные функции
- •2.7. Условное форматирование
- •2.8. Контрольные вопросы
- •3. Графическое отображение данных
- •3.1. Работа с диаграммами
- •3.2. Выбор формы зависимости временного ряда
- •3.3. Контрольные вопросы
- •4. Использование списков (базы данных)
- •4.1. Создание и фильтрация списка
- •4.2. Подведение итогов
- •4.3. Сводные таблицы
- •4.4. Контрольные вопросы
- •5. Анализ данных
- •5.1. Процедура Подбор параметра
- •5.2. Сценарии
- •5.3. Таблицы подстановки данных
- •5.4. Процедура Поиск решения
- •5.5. Контрольные вопросы
- •6. Основы программирования на vba
- •6.1. Общие положения
- •6.2. Макросы и редактор vba
- •6.3. Некоторые приемы программирования
- •6.4. Использование элементов управления форм в листах Excel
- •6.5. Контрольные вопросы
- •Библиографический список
- •Оглавление
6.4. Использование элементов управления форм в листах Excel
В VBA имеется обширный набор элементов управления форм. По своей сути они являются объектами, т. е. объединяют данные с кодом, предназначенным для их обработки. Их можно конструировать на рабочем листе, используя команду Разработчик ► Вставить.
Элементы управления обладают определенными свойствами, например такими, как размер, цвет, положение на экране.
Для инициализации элементов предусмотрен редактор кода. Он обрабатывает те или иные события, связанные с элементами управления (нажатие кнопки, выбор элемента из списка, установка флажка и т. д., которые автоматически приводят к обработке данных).
Приведем некоторые события элементов управления. Событие Click происходит, когда пользователь щелкает на элементе управления. Событие Change происходит при изменении значения элемента управления.
П
Рис. 40. Данные
Лист2
Рис. 39. Данные
Лист1
Необходимо сложить их, полученную сумму сравнить со значением первого столбца таблицы (Лист2, рис. 40) и вывести в ячейку B5 (Лист1) соответствующее значение из второго столбца.
Задание 32. 1. Создайте файл, сохранив его как «Книга Excel с поддержкой макросов». Заполните листы книги в соответствии с рис. 39 и 40.
2. На Лист1 нарисуйте Кнопку из элементов управления форм.
В появившемся окне Назначить макрос объекту назначьте имя макросу.
3. В редакторе Visual Basic запишите следующий код:
Sub Кнопка1_Щелчок()
q = Лист1.Cells(2,2)
w =Лист1.Cells(3,2)
s = q + w
Лист1.Cells(4,2)=s
For a = 1To 9
If Лист2.Cells(a,1)=s Then
Лист1.Cells(5,2) = Лист2.Cells(a,2)
End If
Next a
End Sub
4
Рис. 41. Элемент
Кнопка
Пример со списком. Предположим, что есть книга, содержащая список. Необходимо вывести в ячейку выбранный элемент списка.
Задание 33. 1. Введите в ячейки E1:E20 список предметов, подобный представленному на рис. 42.
2. Введите в ячейку A1 следующую формулу: =ИНДЕКС(E1:E20;D1;0). В формуле INDEX() значение в ячейке D1 используется для возврата необходимого элемента списка.
Задание 34. 1. Добавьте Список из элементов управления форм.
2. В контекстном меню элемента Список выберите пункт Формат объекта. В диалоговом окне укажите следующие данные.
В
Рис. 42. Размещение
элемента
список
на рабочем листе
Чтобы ввести число в ячейку D1 (в зависимости от того, какой элемент выбран в списке), введите D1 в поле Связь с ячейкой.
3. Воспользуйтесь списком: щелкните элемент списка, в ячейке D1 будет показан номер этого элемента в списке. В формуле INDEX в ячейке A1 этот номер будет использован для отображения названия элемента, рис. 42.
Задание 35. 1. Следуя схеме предыдущего задания, создайте на разных рабочих листах еще два элемента управления формы: Поле со списком и Счетчик.
2. Проверьте их работу.