Счетчик Регулятор счетчика (спиннер) аналогичен линейке прокрутки.
Примеры создания программ для работы с объектами окна диалога
Пример 1. Создать окно диалога, содержащее поля для ввода фамилии и имени. Значения этих полей записать в электронную таблицу.
На рабочем листе "Лист1" создать ЭТ следующего вида:
А B C D
1 Фамилия Имя
2
Создадим форму, которая будет содержать 2 поля для ввода текста (имени и фамилии), 2 надписи и 2 кнопки. При нажатии кнопки ВВОД информация из текстовых полей будет записываться в ЭТ, а при нажатии кнопки КОНЕЦ будет происходить выход из программы.
Label2 |
TextBox2 |
CommandButton2 |
TextBox1 |
CommandButton1 |
Label1 |
|
Установим свойства объектов:
Объект |
Свойство |
Значение |
Label1 |
Caption |
Фамилия |
Label2 |
Caption |
Имя |
CommandButton1 |
Caption |
Ввод |
CommandButton2 |
Caption |
Конец |
Кнопке КОНЕЦ назначим процедуру :
Private Sub CommandButton2_Click()
End
End Sub
Кнопке ВВОД назначим процедуру:
Option Explicit
Private Sub CommandButton1_Click()
Dim Фамилия, Имя As String
Dim Row As Integer
Row = Application.CountA(Sheets("Лист1").Range("А:А")) + 1
With UserForm1
Фамилия = .TextBox1.Text
Имя = .TextBox2.Text
End With
With Sheets("Лист1")
.Cells(Row, 1).Value = Фамилия
.Cells(Row, 2).Value = Имя
End With
With UserForm1
.TextBox1.Text = ""
.TextBox2.Text = ""
End With
End Sub
Некоторые объяснения к программе :
В VBA диапазон "А:А" означает столбец А. Функция СЧЕТЗ в русскоязычной версии Еxcel подсчитывает число непустых ячеек в выделенном диапазоне. Ее эквивалентом в англоязычной версии является функция CountA. Т.о. функция
Row = Application.CountA(Sheets("Лист1").Range("А:А")) + 1
вычисляет число непустых ячеек в столбце А.
В переменную целого типа Row записывается количество непустых ячеек столбца А и значение переменной увеличивается на 1 для того, чтобы считанная из текстовых полей информация записывалась в пустые строки таблицы.
Оператор With – EndWith используется для удобства при работе с несколькими свойствами или методами одного и того же объекта.
Например, конструкция
With Sheets("Лист1")
.Cells(Row, 1).Value = Фамилия
.Cells(Row, 2).Value = Имя
End With
без оператора With – EndWithэквивалентна конструкции вида :
Sheets("Лист1").Cells(Row, 1).Value = Фамилия
Sheets("Лист1").Cells(Row, 2).Value = Имя
Sheets и Cells – это объекты VBA, обозначающие рабочий лист и клетку с соответствующими координатами.
Программа запускается в окне отладчика клавишей F5 или кнопкой "Запуск подпрограммы". Для запуска программы можно также создать командную кнопку на рабочем листе Excel, назначив ей соответствующий модуль. Например, такой
Sub Кнопка1_Щелкнуть()
UserForm1.Show
EndSub
Пример2. Создать окно диалога, содержащее 2 переключателя, 2 надписи и 2 кнопки. В зависимости от того, какой переключатель установлен, в клетку А1 электронной таблицы будет записываться название этого переключателя.
OptionButton1 |
Label1 |
CommandButton1 |
Окно формы имеет вид:
|
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.