Методичка по информационным технологиям
.pdf101
.SpinButton1.Max = 100
.TextBox4.Text = "1" End With
End Sub
Оператор With-EndWith используется для удобства при работе с несколькими свойствами или методами одного и того же объекта.
8.Кнопка Отмена должна закрывать форму. Опишем событие нажатия этой кнопки:
Private Sub CommandButton2_Click()
UserForm1.Hide
End Sub
Мы использовали метод закрытия Hide.
9.При изменении счетчика, его значения должны подставляться в стоящее рядом текстовое поле:
Private Sub SpinButton1_Change()
UserForm1.TextBox4.Text = CStr(UserForm1.SpinButton1.Value)
End Sub
Свойство Value возвращает нам текущее значение счетчика. Мы преобразуем его в символьный тип с помощью функции CStr и записываем это значение в текстовое поле.
10.А теперь опишем, что делать, если все данные занесены в форму и нажата кнопка Ok. Мы должны занести все данные в таблицу в первую пустую строку. Опишем событийную процедуру нажатия этой кнопки:
Private Sub CommandButton1_Click()
‘ Описываем промежуточные переменные, в которые занесем значения из полей формы
Dim tom, rusname, latname, fam, cat, stem, foetus, flow As String
‘ row – это первая пустая строка таблицы, в которую можно поместить данные
Dim i, row As Integer
‘ Перебираем все не пустые строки таблицы начиная со второй, пока не найдем на пустую.
'Ее значение мы присвоим переменной Row
i= 2
While Sheets("Гербарий").Cells(i, 1).Value <> "" i = i + 1
102
Wend row = i
‘Заносим в переменные значения из полей формы
With UserForm1 rusname = .TextBox1.Text latname = .TextBox2.Text fam = .TextBox3.Text tom = .TextBox4.Text stem = .ComboBox1.Text
‘Проверяем, какой переключатель нажат
If .OptionButton1 Then cat = "однолетний"
If .OptionButton2 Then cat = "многолетний"
‘ Проверяем нажаты ли флажки
If .CheckBox1 Then foetus = "есть" Else foetus = "нет" If .CheckBox2 Then flow = "есть" Else flow = "нет"
End With
‘ Все считанные значения помещаем в нашу таблицу в пустую строку в нужные колонки
With Sheets("Гербарий")
.Cells(row, 1).Value = tom
.Cells(row, 2).Value = rusname
.Cells(row, 3).Value = latname
.Cells(row, 4).Value = fam
.Cells(row, 5).Value = cat
.Cells(row, 6).Value = stem
.Cells(row, 7).Value = foetus
.Cells(row, 8).Value = flow End With
End Sub
11. Рабочая форма готова. Теперь нам нужно, чтобы она запускалась при нажатии кнопки Ввод данных с рабочего листа База данных. Возвращаемся в документ Excel и для этой кнопки напишем запуска формы UserForm1 процедуру:
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
103
Задание 53. Контрольная работа
1.В форму таблицы «Гербарий» добавить кнопку, при активации которой помечаются все записи о растениях:
a.Из 1-ой папки;
b.Однолетних;
c.Многолетних;
d.Имеющих цветки;
e.Имеющих плоды;
Подсказка:
В следующем примере устанавливается для ячейки A1 полужирный шрифт, красного цвета и с высотой символов 14 :
Range ("A1").Font.Size = 14
Range ("A1").Font.FontStyle = Bold
Range ("A1").Font.Colorlndex = 3
f.Не имеющих ни плодов, ни цветков.
2.В форму таблицы «Гербарий» добавить кнопку редактирования уже существующей записи по ее номеру.
3.В форму таблицы «Гербарий» внести изменения ввода данных так, чтобы не был разрешен ввод незаполненных текстовых полей.
4.В форму таблицы «Гербарий» внести изменения ввода данных так, чтобы дублировалась на отдельный лист информация о:
a.Однолетних растениях;
b.Многолетних;
c.Имеющих цветки;
d.Имеющих плоды.
e.Не имеющих ни плодов, ни цветков.
5.Добавить в таблицу «Гербарий» колонку «Тип корневой системы» с возможными значениями стержневая или мочковатая. В форму таблицы «Гербарий» внести изменения, включив новый рабочий элемент типа ComboBox и соответствующим списком значений.
Учебное издание
Ирина Анатольевна Малыкина
Лабораторный практикум по курсу «Информационные технологии»