
- •1 Некоторые сведения о программировании на vba
- •1.1 Вызов редактора Visual Basic.
- •1.2 Состав проекта
- •1.3 Элементы управления
- •1.4 Некоторые свойства и события элементов управления
- •1.5 Типы данных в vba
- •1.6 Некоторые встроенные функции vba
- •Функция InputBox
- •Процедура MsgBox
- •1.7 Процедуры и функции
- •1.8 Основные объекты vba
- •Свойства и методы объектов семейства Worksheets
- •Объекты Cells, Range и Selection
- •Свойства и методы объекта Range
- •1.9 Основные операторы vba
- •Оператор присваивания
- •Условный оператор
- •If условие then инструкции 1 else инструкции 2
- •If условие then
- •If условие1 then
- •If условие then инструкции 1
- •Оператор выбора
- •Оператор с заданным количеством повторений.
- •Оператор цикла по множеству
- •Операторы цикла Do … Loop
- •Оператор цикла While … Wend
- •2 Варианты заданий Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •3 Образец выполнения работы
- •3.1 Задание
- •3.2 Создание исходных таблиц
- •3.3 Создание формы UserForm1
- •3.4 Создание формы UserForm2
- •3.5 Создание функции пользователя
- •3.4 Создание формы UserForm3
- •Список литературы
Оператор цикла While … Wend
Синтаксис оператора:
While условие
операторы
Wend
Этот оператор цикла работает до тех пор, пока выполняется условие, записанное радом со словом While.
Пример 9. На Листе Excel находятся данные. Найти первую свободную строку и сделать активной ячейку, расположенную в первом столбце этой строки.
Sub поиск()
Dim i As Integer
' i - номер строки
Range("A1") . Select
i = 1
While Cells(i , 1) .Value > ""
i = i + 1
Wend
Cells(i , 1) . Select
End Sub
2 Варианты заданий Вариант 1
Компания по снабжению электроэнергией получает плату с клиентов по тарифу:
16 коп. за 1кВт/ч за первые 100 кВт;
20 коп. за 1 кВт/ч, если потребление большее, чем 100 кВт, но не превышает 300кВт;
30 коп. за 1 кВт/ч, если потребление большее 300 кВт.
Услугами компании пользуются 20 клиентов, которые живут в трех домах. Составить таблицу, которая содержит такую информацию: номер счета, фамилия пользователя, номер дома, в котором он живет, количество израсходованной электроэнергии, стоимость израсходованной электроэнергии.
Создать функцию пользователя, которая рассчитывает стоимость израсходованной электроэнергии для каждого клиента.
Создать форму для корректирования и ввода новых данных о клиентах.
Написать программу, которая отбирает на новый рабочий Лист данные про тех клиентов, которые живут в доме с указанным номером, и подсчитывает количество израсходованной ими электроэнергии.
Вариант 2
Три магазина заказывают на складе книжки. Если магазин заказывает книг большее, чем есть на складе, то склад увеличивает цену на 50 коп. за каждый экземпляр. Если на складе есть заказанное количество книжек, то возможны скидки. Если заказано большее 30 экземпляров, то склад уменьшает цену на них на 10%; а если заказано 50 экземпляров или больше – на 15%. Составить таблицу, которая содержит такую информацию: магазин, автор, название книги, цена за единицу, имеющееся количество на складе, заказанное количество, скидка, общая стоимость.
Создать функцию пользователя, который вычисляет общую стоимость каждого заказа.
Создать форму для корректирования и ввода данных для новых заказов.
Написать программу, которая отбирает на новый рабочий Лист данные о том магазине, который выберет пользователь, и подсчитывает количество заказанных книг.
Вариант 3
Три туристических фирмы организуют путешествия в пять стран. Если клиент заказал больше двух путевок, он получает скидку в размере 5% от стоимости путевок; больше трех – 7%; больше четырех – 10%. Составить таблицу, которая содержит такую информацию: фамилия покупателя, фирма, которая его обслуживает, страна, стоимость одной путевки, количество заказанных путевок, скидка, общая стоимость.
Создать функцию пользователя, которая вычисляет общую стоимость путевок для клиента.
Создать форму для корректирования и ввода новых данных.
Написать программу, которая отбирает на новый рабочий Лист данные о путевках, проданных указанной фирмой, и подсчитывает их стоимость.