Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Разработка программы




Чтобы приступить к написанию программы для работы с созданной пользовательской формой, требуется после создания формы, приведенной на рисунке 1, выбрать команду View – Code. Вызывается редактор VBA, и открывается модуль пользовательской формы. В нем необходимо ввести следующий текст программы (некоторые заголовки подпрограмм будут созданы автоматически):

Private Sub UserForm_Initialize()

Operacii.AddItem "сумма"

Operacii.AddItem "произведение"

Operacii.ListIndex = 0

End Sub

Private Sub Schet_Click()

diap = nach.Value + ":" + kon.Value

Set d = Range(diap)

m = d.Rows.Count

n = d.Columns.Count

If Operacii.ListIndex = 0 Then

Sum = 0

For i = 1 To m

For j = 1 To n

Sum = Sum + d.Cells(i, j).Value

Next j

Next i

rez.Value = Sum

End If

If Operacii.ListIndex = 1 Then

proizv = 1

For i = 1 To m

For j = 1 To n

proizv = proizv * d.Cells(i, j).Value

Next j

Next i

rez.Value = proizv

End If

End Sub

 

Private Sub Vyhod_click()

Unload sum_proizv

End Sub

 

Процедура UserForm_Initialize() выполняется в начале работы с пользовательской формой, т.е. выполняет ее инициализацию. Оператор Operacii.AddItem "сумма" означает, что к списку Operacii применяется действие (метод) AddItem, т.е. к списку добавляется заданный элемент – слово “сумма”. Затем в список аналогично включается элемент “произведение”. В операторе operacii.ListIndex = 0 свойству ListIndex списка Operacii присваивается значение 0; это означает, что по умолчанию в списке будет выбран первый по порядку элемент, т.е. элемент “сумма” (элементы списка имеют номера, начиная с нуля).

Процедура Schet_Click() выполняется при нажатии кнопки с именем Schet (т.е. кнопки “Вычислить”). В операторе diap = nach.Value + ":" + kon.Value составляется символьная строка из значений текстовых полей nach и kon, между которыми добавляется двоеточие; таким образом, строка diap будет представлять собой диапазон ячеек, заданный в текстовых полях. Например, если в текстовом поле nachпользователь введет значение B2, а в текстовом поле kon– значение F4, то переменная diap будет иметь значение “B2:F4”.

В операторе Set d = Range(diap) переменная d связывается с диапазоном, заданным переменной diap. В двух следующих операторах определяется количество строк и столбцов в заданном диапазоне.

В операторе If Operacii.ListIndex = 0 Then … проверяется, чему равно свойство ListIndex списка Operacii, т.е. какой элемент выбран в списке Operacii. Если выбран элемент с номером 0 (т.е. первый элемент – “сумма”), то выполняется суммирование значений ячеек в заданном диапазоне. Результат вычислений (переменная Sum) присваивается текстовому полю rez: rez.Value = Sum.

Аналогично, если выбран элемент списка с номером 1 (“произведение”), то вычисляется произведение ячеек в заданном диапазоне, и результат выводится в текстовое поле rez.

Процедура Vyhod_click() выполняется при нажатии кнопки с именем Vyhod (т.е. кнопки “Выход”). Оператор Unload sum_proizv закрывает форму.

На рисунке 2 показан вид созданной пользовательской формы во время работы с ней (т.е. во время выполнения программы, описанной выше).

3 Программа с использованием пользовательской формы: пример 2 (счетчики, флажки)

Пусть требуется создать пользовательскую форму для возведения чисел в заданную степень и для извлечения корней заданной степени (или для выполнения обеих этих операций). Для ввода числа, которое требуется возвести в степень (или извлечь из него корень), должно использоваться текстовое поле. Показатель степени (для возведения или извлечения корня) задается с помощью счетчика. Для выбора операции (возведение в степень или извлечение корня) используются флажки. Результаты должны выводиться в текстовые поля. Вычисление должно выполняться по нажатию кнопки, размещенной на пользовательской форме. Кроме того, требуется создать кнопку для закрытия пользовательской формы.


Поделиться:

Дата добавления: 2015-08-05; просмотров: 117; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты