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

4. Задания к лабораторной работе

1. Заполните данными несколько строк таблицы:

Месяц

Выпуск продукции в млн. руб.

Процент выполнения плана

План

Факт

январь

12,5

12,4

. . .

Составить блок-схему и программу для заполнения в таблице графы Процент выполнения плана (факт/план). В клетках, где процент выполнения плана больше 100%, изменить цвет шрифта на красный (ColorIndex =3).

В программе использовать цикл с предусловием, анализируя пустая или нет клетка в графе месяц.

2. В банке открыт счет. Банк ежегодно начисляет фиксированный процент от вклада. Соответственно увеличивается сумма вклада. Составить программу, которая рассчитывает величину вклада и выводит эту величину для каждого года, пока величина вклада не увеличится вдвое. Для решения этой задачи предусмотреть клетки для ввода первоначальной величины вклада, учетной ставки процента от вклада, года помещения вклада в банк, а также для вывода года, когда сумма первоначального вклада удвоится.

3. В клетке А2 на Листе1 записаны фамилия, имя и отчество сотрудника (например, Попова Анна Николаевна). В клетку А2 на Лист2 переписать только фамилию сотрудника.

Составить блок-схему и программу для этой задачи, используя цикл с постусловием. Фамилия, имя и отчество отделяются символом «пробел». В программе рекомендуется использовать функцию обработки строк – MID(Строка, НачЗнач, Длина).

Примечание. Функция MID(Строка, НачЗнач, Длина) возвращает часть Строки, начиная от символа с позиции НачЗнач, и содержащую количество символов, равное значению Длина. В качестве Строки можно использовать адрес клетки, содержащей строковое значение.

4. Усложним задание 2. В несколько смежных клеток любого столбца на Листе1 введем фамилии, имя и отчество сотрудников. Выделим эти клетки. Программа должна из выделенного блока клеток выделить только фамилии и сформировать список фамилий на Листе2 в столбце А, начиная с клетки А2.

5. Контрольные вопросы

  1. Чем отличаются циклы с неизвестным числом повторений от циклов со счетчиком?

  2. Есть ли в циклах с предусловием и постусловием переменная цикла?

  3. В чем заключается принципиальное отличие цикла с предусловием от цикла с постусловием?

  4. Когда рекомендуется использовать цикл For Each … Next?

  5. Чем отличаются циклы Do While …и Do Until…? Как это отличие отражается на блок-схеме?

  6. Что значит досрочный выход из цикла (прерывание цикла)? Как он реализуется в различных типах циклических операторов?

  7. Что такое <элемент> в операторе For Each?

  8. Является ли <элемент> в операторе For Each элементом <группы> этого оператора?

  9. Когда завершает свою работу цикл For Each?

Лабораторная работа № 6. Работа с формами. Создание интерактивных программ.

Работа любой программы подразделяется на 3 этапа: ввод информации, обработка информации и вывод результатов.

Ввод информации часто осуществляется с помощью клавиатуры и мыши.

Чтобы организовать взаимодействие человека и программы, используются разнообразные экранные формы.

Примером таких форм служат диалоги в программах VBA.

Создать окно диалога можно двумя способами.

1 способ: С помощью контекстного меню на ярлыке листа выберите команду ИСХОДНЫЙ ТЕКСТ. В появившемся окне выберите команду ВСТАВКА - UserForm.

2 способ: Выберите команду СЕРВИС - МАКРОС - РЕДАКТОР VisualBasic и далее ВСТАВКА - UserForm.

В созданном окне диалога пользователь размещает элементы окна (объекты), используя Панель элементов. Выбор объекта и его расположение осуществляется с помощью левой кнопки мыши.

Состав Панели элементов

Название элемента

Имя в программе

Надпись

Label

Поле

TextBox

Рамка

Frame

Кнопка

CommandButton

Поле со списком

ComboBox

Флажок

CheckBox

Переключатель

OptionButton

Список

ListBox

Полоса прокрутки

ScrollBar

Счетчик

SpinButton

Существуют и другие элементы.

В программе все имена объектов имеют номер. Например, если создать в окне диалога флажок, то его имя в программе будет CheckBox1.

Надпись Используется для создания текстовых вставок в окне.

Поле Используется для ввода(вывода) текста.

Рамка Обеспечивает объединение нескольких элементов диалогового окна в группу.

Кнопка Командная кнопка, которой назначается процедура или макрос.

Поле со списком Представляет собой комбинацию выпадающего списка.

Флажок Обеспечивает аддитивный выбор значения. Свойство Value принимает значение True, если флажок выбран и False – в противном случае.

Переключатель Обеспечивает альтернативный выбор из списка взаимоисключающихся опций. Такие переключатели входят в состав группы, если они различны по назначению. Выбор одного переключателя внутри группы означает автоматический не выбор других. Свойство Value принимает значение True, если переключатель выбран и False – в противном случае.

Список Представляет собой окно, содержащее список значений.

Полоса прокрутки Создает горизонтальную или вертикальную линейку прокрутки. Свойство Value содержит число, соответствующее положению ползунка. Свойства Min и Max управляют диапазоном значений.

Счетчик Регулятор счетчика (спиннер) аналогичен линейке прокрутки.