Окно формы имеет вид:
ComboBox1 |
CommandButton1 |
|
CommandButton2 |
Установим свойства объектов:
Объект |
Свойство |
Значение |
CommandButton1 |
Caption |
Ввод |
CommandButton2 |
Caption |
Конец ввода |
Для кнопки Конец ввода назначим процедуру:
Private Sub CommandButton2_Click()
End
End Sub
Для кнопки Ввод назначим процедуру:
Private Sub CommandButton1_Click()
Dim Список As String
With UserForm1
Список = .ComboBox1
End With
With Sheets("Лист1")
.Cells(1, 1) = Список
End With
End Sub
Для инициализации поля со списком создадим процедуру:
Option Explicit
Private Sub UserForm_Initialize()
ComboBox1.AddItem "Люкс"
ComboBox1.AddItem "Одноместный"
ComboBox1.AddItem "Двухместный"
ComboBox1.Style = fmStyleDropDownList
EndSub
Пример6. Создайте окно диалога, содержащее поле ввода текста две кнопки и счетчик, значение которого будет считываться в это поле, а затем записываться в клетку А1.
Окно формы имеет вид:
TextBox1 |
CommandButton2 |
|
SpinButton1 |
Установим свойства объектов:
Объект |
Свойство |
Значение |
CommandButton1 |
Caption |
Запись |
CommandButton2 |
Caption |
Конец |
Для кнопки Конец назначим процедуру:
Private Sub CommandButton2_Click()
End
End Sub
Для кнопки Запись назначим процедуру записи значения текстового поля в клетку А1:
Private Sub CommandButton3_Click()
Cells(1, 1) = TextBox1
EndSub
Со счетчиком свяжем процедуру:
Private Sub SpinButton1_Change()
TextBox1.Text = CStr(SpinButton1.Value)
End Sub
Данная процедура выводит в текстовое поле текущее значение счетчика, преобразуя числовое значение счетчика в строковую переменную с помощью функции CStr.
Текстовому полю назначим процедуру:
PrivateSubTextBox1_Change()
SpinButton1.Value = Cint(TextBox1.Text)
End Sub
Эта процедура используется для синхронизации значения счетчика с содержимым текстового поля, преобразуя текстовое значение поля в числовое с помощью функции Cint.
Рассмотренные примеры дают возможность создавать различные диалоговые формы для заполнения электронных таблиц и баз данных.
На рис.14 и 15 приведен один из вариантов построения диалогового окна и
ЭТ для заполнения базы данных.
Рис.14
Рис.15
На рабочем листе ЭТ создана командная кнопка Вычислить, которой назначен макрос:
Sub Вычислить()
UserForm1.Show
End Sub
Варианты для самостоятельных работ:
В таблицах приведены имена полей и соответствующие им названия объектов. Каждый объект должен иметь надпись.
Вариант 1
Продажа аппаратуры
Аппаратура |
Город |
Фирма |
Месяц |
Поле |
Список |
Поле со списком |
Группа флажков |
Вариант 2
Приемо-сдаточная накладная
№ |
Код детали |
Наименование детали |
Номер операции |
Количество деталей |
Поле и счетчик |
Поле |
Поле |
Поле со списком |
Поле со списком |
Вариант 3
Товаро - транспортная накладная
Номер |
Код |
Наимено-вание материала |
Ед. измере-ния |
Цена за ед. |
Кол-во |
|
Постав-щик |
Получатель |
|||||
Поле и счетчик |
Поле |
Поле |
Поле |
Поле со списком |
Поле |
Поле |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.