Краткое описание инструмента и ремесла программирования. Степанов А.Г - 79 стр.

UptoLike

79
Next i
End Sub
В программе используется свойство ColumnCount классов ComboBox и ListBox,
позволяющее задавать количество полей в списках, а также методы Clear и
AddItem, обеспечивающие начальную очистку и добавление строк в список. Во
вторые колонки созданных списков с использованием свойства List занесены
соответственно адреса ячеек, в которые будут записаны значения начисленной
заработной платы и
сами значения используемых ставок.
Пример 2.42. Работа с созданной формой заключается в выборе значения ставки
и фамилии сотрудника, которому эта ставка назначается. Эти действия сводятся к
работе с Полем со списком и Списком и обеспечиваются библиотечными
функциями классов ComboBox и ListBox. Специальных действий, связанных с
создаваемой формой, не требуется, поэтому никаких пользовательских процедур
обработки событий в Поле со списком и Списке не создается. После того, как
выбор сделан, должны быть произведены изменения на рабочем листе Excel.
Командой на внесение изменений является нажатие кнопки Запись создаваемой
формы. Если щелкнуть мышкой по этой кнопке, возникает событие Click, которое
обрабатывается процедурой CommandButton1_Click, связанной с этой кнопкой.
Private Sub CommandButton1_Click()
Dim
Запись As String 'Хранение адреса записи
Dim Выбор%, ВыборCombo%
'Определение номера выбранной строки списка
Выбор = ListBox1.ListIndex
'Определение номера выбранной строки поля со списком
ВыборCombo = ComboBox1.ListIndex
If ВыборCombo >= 0 Then
'Определение адреса ячейки. Адрес возвращается в формате A1
'Проверка факта выбора
If Выбор >= 0 Then
'Нацеливание рабочей ячейки
Запись = ComboBox1.List(ВыборCombo, 1)
Else
End If
Else
End If
'Запись в по адресу записи значения из
второй колонки списка
If Запись <> "" Then
'Адрес определен
Range(Запись).Value = ListBox1.List(Выбор, 1)
Else
End If
End Sub
Процедура использует свойство ListIndex, позволяющее определить номер
выбранного ранее элемента Поля со списком и Списка. Если в процессе работы с
формой выбор в списках был сделан, то эти номера отличны от 0, что и
используется для проверки возможности изменения содержимого ячеек
рабочего
листа Excel. Поскольку адрес ячейки, в которую заносится значение ставки, был
ранее сохранен во второй колонке Поля со списком, а само значение ставки во
второй колонке Списка, эти данные используются для внесения изменений на
рабочий лист Excel.
Пример 2.43. Работа с созданной формой может проводиться как угодно долго до
тех пор, пока
она не будет нажатием кнопки отмены в правом верхнем углу
формы. В ответ на это запускается процедура прекращения работы с формой. В
нашем случае эта процедура восстанавливает значение выключателя на рабочем
листе.