Информатика: Сборник лабораторных работ по программированию в среде Visual Basic for Applications, страница 25

Окно формы имеет вид:

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

Товаро - транспортная накладная

Номер

Код

Наимено-вание материала

Ед. измере-ния

Цена за ед.

Кол-во

Постав-щик

Получатель

Поле и счетчик

Поле

Поле

Поле

Поле со списком

Поле

Поле