- •1. Теоретические основы
- •Структура редактора vba
- •Интеллектуальные возможности vba
- •Встроенные диалоговые окна
- •2. Основы программирования на vba Допустимые имена
- •Переменные
- •Оператор присвоения
- •Оператор With
- •Операторы управления
- •Оператор условного перехода
- •Оператор выбора
- •Оператор For – Next
- •Оператор For Each
- •Оператор While – Wend
- •Оператор Do – Loop
- •Методы формы
- •События формы
- •Элементы управления
- •Общие свойства элементов управления
- •Общие методы элементов управления
- •Общие события элементов управления
- •Кнопка (CommandButton)
- •Поле (TextBox)
- •Надпись (Label)
- •Переключатель (OptionButton)
- •Список (ListBox)
- •Поле со списком (ComboBox)
- •Отображение встроенных диалоговых окон
- •4. Задания для самостоятельной работы Задание 1. Работа со встроенными диалоговыми окнами
- •Задание 2. Использование элементов управления набора вкладок и набора страниц
- •Задание 3. Добавление данных в таблицу Excel
- •Задание 4 Добавление данных на лист «Реализация товаров» Задание 5. Добавление и удаление данных (с применением вкладок)
- •Задание 6. Поиск и изменение данных в таблицах.
- •Задание 7. Сортировка данных Задание 8. Создание ведомости (отчета)
- •Задание 9. Оформление курсовой работы.
- •Требования к курсовой работе
- •Задания на курсовую работу
Отображение встроенных диалоговых окон
VBA позволяет отображать программно на экране встроенные диалоговые окна в Excel, наряду с пользовательскими диалоговыми окнами. Все встроенные диалоговые окна в Excel образуют семейство Dialogs, индекс которого определяет активизируемое окно. Отображение встроенного диалогового окна на экране осуществляется методом Show. Например, следующая процедура при щелчке на кнопке активизирует диалоговое окно «Открытие документа»:
Private Sub CommandButton2_Click()
Application.Dialogs(xlDialogOpen).Show
End Sub
Значение параметра |
Диалоговое окно |
xlDialogFindFile |
Открытие документа при поиске файла |
xlDialogFileDelete |
Удалить файл |
xlDialogGoalSeek |
Подбор параметра |
xlDialogSaveAs |
Сохранить как |
xlDialogSaveWorkbook |
Сохранить |
xlDialogPrintPreview |
Предварительный просмотр |
4. Задания для самостоятельной работы Задание 1. Работа со встроенными диалоговыми окнами
Задание 1. Создайте окно сообщения, изображенное на рисунке. Текст макроса изображен рядом.
S ub Начало()
' Начало Макрос
MsgBox "Добрый день", vbOKOnly + vbInformation
End Sub
Записать макрос можно следующим образом:
Выберите команду «Начать запись» в подменю Макрос команды Сервис. Задайте имя макроса (Начало)
На появившейся панели «Остановка записи» нажмите кнопку «Остановить запись».
Выберите команду Сервис - Макрос - Макросы. Выберите имя своего макроса и щелкните по кнопке «Войти».
Добавьте строку с назначением параметров функции MsgBox.
Функцию MsgBox также можно использовать, чтобы задать вопрос пользователю и получить ответ. Результат, возвращаемый функцией MsgBox, говорит о том, какая из кнопок была нажата перед закрытием окна.
Задание 2. Создайте окно сообщения, изображенное на рисунке. Текст макроса изображен рядом. Этот макрос содержит сообщение с вопросом, действительно ли пользователь желает выйти из Excel. В зависимости от ответа, либо появляется окно с сообщением, либо происходит выход из Excel (обратите внимание, если нажать кнопку Да, то приложение закрывается без сохранения!)
Sub Выход()
' Выход Макрос
Dim txtСообщение As String, txtЗаголовок As String
Dim Кнопки As Integer, Результат As Integer
txtСообщение = "Вы действительно хотите выйти из Excel?"
txtЗаголовок = "До свидания!"
Кнопки = vbYesNo + vbQuestion + vbfaultButton2
Результат = MsgBox(txtСообщение, Кнопки, txtЗаголовок)
If Результат = vbYes Then
Application.Quit
Else
MsgBox "Выход не состоится", vbOKOnly, "Снова привет!"
End If
End Sub
З адание3. Создайте окно ввода, изображенное на рисунке. Текст макроса изображен рядом. Этот макрос запрашивает имя пользователя, а затем обновляет лист ввода. Предварительно переименуйте рабочий лист (новое название листа – Титульный лист)
Sub Имя()
' Имя Макрос
Dim txtСообщение As String, txtЗаголовок As String
Dim txtРезультат As String, txtПоУмолчанию As String
txtСообщение = "Как ваше имя?"
txtЗаголовок = "Пример окна ввода"
txtПоУмолчанию = "Неизвестный пользователь"
txtРезультат = InputBox (txtСообщение, txtЗаголовок, txtПоУмолчанию)
Worksheets("Титульный лист").Select
Range (“A1”). Select
ActiveCell.Formula = txtРезультат
End Sub