Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lection8.docx
Скачиваний:
11
Добавлен:
31.03.2015
Размер:
419.68 Кб
Скачать
    1. События управляющих элементов

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

  1. Примеры разработки пользовательских форм

    1. Поиск в диапазоне ячейки с заданным значением

'Процедура обработки события «нажатие на кнопку»

Private Sub ButtonFind_Click()

Dim userRange As Range, cell As Range

DimvalueAsString

'Проверка и определение диапазона

On Error Resume Next

Set userRange = Range(RefEditRange.Text)

If Err.Number <> 0 Then

MsgBox "Неправильный диапазон"

RefEditRange.SetFocus

Exit Sub

End If

On Error GoTo 0

'Проверка и задание искомого значения

IfTextBoxValue.value= ""Then

MsgBox"Введите искомое значение"

TextBoxValue.SetFocus

Exit Sub

Else

value = TextBoxValue.value

End If

'Поиск

For Each cell In userRange

If cell.value = value Then

cell.Select

MsgBox "Найдена ячейка " & cell.Address(False, False)

Exit Sub

End If

Next cell

MsgBox"Ячейка не найдена"

EndSub

'Процедура обработки события «инициализация пользовательской формы»

Private Sub UserForm_Initialize()

RefEditRange.Text = ActiveWindow.RangeSelection.Address

End Sub

    1. Поиск в диапазоне ячейки с заданным значением с учётом регистра

'Процедура обработки события «нажатие на кнопку»

Private Sub ButtonFind_Click()

Dim userRange As Range, cell As Range

Dim value As String, matchCase As Boolean

'Проверка и определение диапазона

...

'Проверка и задание искомого значения

...

'Учитывать регистр?

matchCase=CheckBoxCase.value

'Поиск

For Each cell In userRange

If matchCase And cell.value = value Or _ Not matchCase And LCase(cell.value) = LCase(value) Then

cell.Select

MsgBox "Найдена ячейка " & cell.Address(False, False)

Exit Sub

End If

Next cell

MsgBox"Ячейка не найдена"

EndSub

    1. Добавление нового сотрудника

Private Sub OptionButtonStaff_Click()

ComboBoxPost.value = ""

ComboBoxPost.RowSource = "Лист4!B1:B5"

End Sub

Private Sub OptionButtonTeachers_Click()

ComboBoxPost.value = ""

ComboBoxPost.RowSource = "Лист4!A1:A4"

End Sub

Private Sub TextBoxSurname_Change()

If TextBoxSurname.value <> "" And TextBoxName.value <> "" And _ TextBoxFatherName.value <> "" Then

ButtonAdd.Enabled = True

Else

ButtonAdd.Enabled = False

End If

End Sub

  1. Использование управляющих элементов на рабочем листе

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

  • В ячейке, связанной с кнопкой-флажком, отображается значение истинаилиложь.

  • В ячейке, связанной с группой кнопок-переключателей, отображается номер выбранного переключателя.

  • Список и выпадающий список можно связать с диапазоном, из которого будут браться элементы списка, и с ячейкой-результатом, куда будет записан номер выбранного элемента.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]