Задания для практического занятия и инструктаж по их выполнению
Задание №1 Создать приложение «Функции VBA». По нажатию на кнопку «Запуск» должногенерироваться случайное число. Это число должно отображаться в элементе надпись. Необходимо вычислить корень квадратный из этого числа, синус и косинус этого же числа, а результаты вывести в другой элемент Надпись. Кроме этого в форме необходимо вывести текущую дату. По нажатию на кнопку «Выход» форма должна скрываться с экрана. Для запуска формы на листе Excel необходимо создать кнопку с надписью «Функции VBA».
1. Запустите Excel.
2. Загрузите VBA. Сервис à Макрос à Редактор Visual Basic.
3. Проверьте, чтобы на экране появилось окно проекта и окно свойств.
4. Выполните команду «Вставить форму» или Insert à UserForm. Форму можно увеличить стандартным способом, ухватившись за правый нижний угол и растягивая ее.
5. Сделайте появившуюся форму UserForm1(или 2) активной и установите значения свойств данного объекта:
Свойство
| Значение
| Caption (заголовок)
| Функции VBA
| Height (высота)
|
| Width (ширина)
|
| SpecialEffect (контур формы)
| 2 (на усмотрение 0-6)
| StartUpPosition (месторасположение на экране при выводе)
| 2- CenterScreen
| 6. Добавьте в форму элементы управления Label (надпись) и CommandButton (кнопка управления) с панели элементов. Форма должна принять следующий вид:

7. Для вывода результатов расчета подготовьте элементы Label1, Label2, Label3, Label4.
Установите значения свойств объекта Label1 – Label4:
Свойство
| Значение
| Caption (заголовок)
| (надписей быть не должно)
| Font (шрифт)
| Verdana, жирный курсив, 12 (можно на свое усмотрение)
| Width (ширина)
|
| Height (высота)
|
| SpecialEffect (контур поля)
| Label1 -1
Label2 -2
Label3 -3
Label4 -6
(разные эффекты позволят увидеть отличие друг от друга)
| TextAlign (расположение текста в поле)
| 2- fmTextAlignCenter
|
8. Для пояснительных надписей подготовьте элементы Label5, Label6, Label7, Label8.
Установите значения свойств объекта Label5 – Label8:
Свойство
| Значение
| Caption (заголовок)
| Label5 – «Случайное число»
Label6 – «Корень квадратный»
Label7 – «Синус»
Label8 – «Косинус»
| Font (шрифт)
| Arial, жирный, 12 (можно на свое усмотрение)
| Width (ширина)
|
| Height (высота)
|
| SpecialEffect (контур поля)
|
| TextAlign (расположение текста в поле)
| 1- fmTextAlignLeft
| 9. Для вывода текущей даты подготовьте элемент управления Label9.
Установите значения свойств объекта Label9:
Свойство
| Значение
| Caption (заголовок)
| Дата
| Font (шрифт)
| Arial, жирный курсив, 12 (можно на свое усмотрение)
| Width (ширина)
|
| Height (высота)
|
| 0SpecialEffect (контур поля)
|
| TextAlign (расположение текста в поле)
| 2- fmTextAlignCenter
| 10. Добавьте на форму командную кнопку для запуска программы, применив элемент управления CommandButton1.
Установите значения свойств объекта CommandButton1:
Свойство
| Значение
| Caption (заголовок)
| Запуск
| Font (шрифт)
| Verdana, обычный, 12 (можно на свое усмотрение)
| 11. Добавьте на форму командную кнопку для закрытия формы, применив элемент управления CommandButton2.
Установите значения свойств объекта CommandButton2:
Свойство
| Значение
| Caption (заголовок)
| Выход
| Font (шрифт)
| Verdana, обычный, 12 (можно на свое усмотрение)
| 12. После выполнения всех пунктов форма в режиме конструктора должна выглядеть так:

13. Перед написанием программы проверьте работоспособность формы. Для вывода формы на экран выполните команду Run à Run Sub/UserForm или нажмите клавишу < F5>. На фоне листа Excel появится созданная нами форма, но, нажав на кнопки «Запуск» и «Выход», ничего не происходит, т.к. отклик на событие (нажатие кнопки) не запрограммирован. Закройте форму и перейдите в редактор VBA.
14. В форме дважды щелкните на кнопке «Запуск», чтобы вывести заготовку программы, связанную с командной кнопкой

Программа начинается с заголовка Private Sub (локальная процедура), и заканчивается предложением End Sub (конец процедуры). Между этими предложениями записывается текст программы.
15. Появится заготовка программы. Напишите текст программы:
Randomize
Label9.Caption = Date
Label1.Caption = Int(Rnd * 90)+1)
Label2.Caption = Sqr(Label1.Caption)
Label3.Caption = Cos(Label1.Caption * 3.14159 / 180)
Label4.Caption = Sin(Label1.Caption * 3.14159 / 180)
Каждая строка программы содержит название объекта, его свойство (левая часть строки, до равенства) и установку значению свойства (правая часть строки, после знака равенства).
- Label – это объект.
- Caption – это свойство.
- Date – это значение свойства (Текущая дата).
- Rnd * 90 – это значение свойства.
Функция генерации случайных чисел Rnd – генерирует случайное число между 0 и 1.
Перед использованием функции используйте функцию Randomize без аргумента
Функция Int возвращает целую часть аргумента (в данном случае – произведение случайного числа на 90 и отбрасывает дробную часть аргумента). Результат – числа от 1 до 90.
- Sqr(Label1.Caption) – т.к. случайное число сохранилось в объекте Label1, то мы применяем функцию Sqr, аргументом которой является объект, где хранится случайное число.
- Sin(Label1.Caption * 3.14159 / 180) – аргумент функции синус рассматривается в радианах, но для того, чтобы было привычнее анализировать полученные результаты, применим формулу для преобразования градусов в радианы, т.е. преобразуем случайное число – это градусы в радианы и получим результат.
Текст программы:
Private Sub CommandButton1_Click()
Label9.Caption = Date
Label1.Caption = Int(Rnd * 90) + 1
Label1.BackColor = RGB(255, 255, 0)
Label2.Caption = Sqr(Label1.Caption)
Label3.Caption = Cos(Label1.Caption * 3.14159 / 180)
Label4.Caption = Sin(Label1.Caption * 3.14159 / 180)
End Sub
Выведите форму на экран, нажав клавишу F5, и проверьте работоспособность кнопки «Запуск». Результат выполнения программы показан на рисунке:

16. Запрограммируйте кнопку «Выход». Перейдите в редактор VBA и дважды щелкните по кнопке «Выход» в форме. Появится заготовка программы. Вставьте одну строку программы – UserForm1.Hide
В этой строке:
- UserForm1 – это объект.
- Hide – это метод.
Текст программы:
Private Sub CommandButton2_Click()
UserForm1.Hide
End Sub
Кроме запуска программы по нажатию клавиши <F5>, существует еще один способ вывода формы на экран. Для этого:
1. Перейдите в приложение Excel на любой лист.
2. На панели элементов управления выберите инструмент CommandButton и нарисуйте кнопку на листе Excel.
3. Вызовите свойства этого элемента, нажав на панели элементов управления кнопку Свойства 

4. Установите значения свойств объекта CommandButton1:
Свойство
| Значение
| Caption (заголовок)
| Функции VBA
| Font (шрифт)
| Arial, жирный, 14
| BackColor (цвет фона кнопки)
| Любой на закладке Pallete
| ForeColor (цвет букв на кнопке)
| Любой на закладке Pallete
| 5. Запрограммируйте кнопку «Функции VBA». Для этого вызовите заготовку программы, нажав на панели элементов управления кнопку «Исходный текст» , не забыв перед этим выделить кнопку CommandButton1.
6. Вставьте одну строку программы – UserForm1.Show, что означает показать форму UserForm1 на экране.
В этой строке:
- UserForm1 – это объект.
- Show – это метод.
7. Затем перейдите на лист приложения Excel и отключите режим конструктора на панели элементов управления .
8. Проверьте работу программы.
Не нашли, что искали? Воспользуйтесь поиском:
|