Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Алгоритм формирования источника информации для поля со списком в пользовательской форме




1) Определить количество заполненных строк специальностями в столбце A на листе «Профессии».

 

Для этого используются:

Функция рабочего листа CountA – подсчитывает количество непустых ячеек в указанном диапазоне.

В качестве диапазона мы будем рассматривать весь столбец А - Range("A:A").

Так как это функция, то необходимо указать какой переменной мы присвоим вычисленное значение. В нашей задаче мы назвали переменную «список»

Полная запись:

Список= Application.CountA(Sheets("Профессии").Range("A:A"))

Результат работы функции:

Значение переменной список=7

2) Сформировать диапазон списка специальностей.

Мы знаем, что адрес начальной ячейки диапазона на листе «Профессии» А1. Адрес конечной ячейки диапазона получится путем «склеивания» имени столбца А и значения, которое хранится в переменной «список». Переменная «список» объявлена как тип Integer, а «склеивание» можно осуществлять только со строковыми переменными. Поэтому мы должны к переменной «список» применить функцию CStr. Эта функциименяет тип данных у переменных, а затем провести «склеивание»и присвоить полученный диапазон переменной.

Полная запись :

Д_списка = "A1:A" & CStr(список)

Результат работы:

Д_списка =”A1:A7”

3) Присвоить имя «Специальности» сформированному диапазону.

Используем свойство Name объекта Range, расположенного на листе «Профессии»

Полная запись:

Sheets("Профессии").Range(Д_списка).Name = "Специальности"

Результат работы:

Диапазону ”A1:A7” на листе «Профессии» присвоено имя «Специальности».

 

4) Присоединить полю в пользовательской форме список специальностей.

ComboBox1 – объект поле со списком в пользовательской форме

RowSource – свойство объекта «источник-строка»

Т.е. источником для формирования поля со списком является диапазон ячеек с именем «Специальности».

Полная запись:

.ComboBox1.RowSource = «Специальности»

Программа:

Private Sub CommandButton1_Click()

Dim список As Integer

список=Application.CountA(Sheets(«Профессии»).Range(«A:A»))

'Определим диапазон списка специальностей

Д_списка = «A1:A» & CStr(список)

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

Sheets(«Профессии»).Range(Д_списка).Name = «Специальности»

‘Очистим ячейки

With UserForm1

.TextBox1.Text = “”

.ComboBox1.Text = “”

'Введем список для поля со списком

.ComboBox1.RowSource = «Специальности»

'Выведем пользовательскую форму на экран

.Show

End With

End Sub

 

  1. Запишем данные о сотруднике из пользовательской формы на лист «Сотрудники» по нажатию на кнопку «ОК». Для этого надо создать процедуру занесения. Перейдем в режим написания процедуры, дважды щелкнув по кнопке «ОК».

 

Private Sub CommandButton1_Click()

Dim фамилия As String, специальность As String

Dim строка As Integer, имя As String

'строка - номер последней заполненной строки на листе "Сотрудники"

'Определим номер последней заполненной строки

строка = Application.CountA(Sheets("Сотрудники").Range("A:A"))

With UserForm1

'переменной «фамилия» и «имя» присвоим содержимое поля TextBox1 и TextBox2

фамилия =.TextBox1.Text

имя =.TextBox2.Text

'переменной «специальность» присвоим содержимое поля ComboBox1

специальность =.ComboBox1.Text

End With

With Sheets("Сотрудники")

.Cells(строка + 1, 1) = фамилия

.Cells(строка + 1, 2) = имя

.Cells(строка + 1, 3) = специальность

End With

'Очистим содержимое ComboBox1.Text, TextBox1.Tex и ТextBox2.Text

UserForm1.ComboBox1.Text = ""

UserForm1.TextBox1.Text = ""

UserForm1.TextBox2.Text = ""

End Sub

  1. В кнопке Выход записать процедуру закрытия формы:

Private Sub CommandButton2_Click()

UserForm1.Hide

End Sub

  1. У Вас должно получиться:

 

  1. Проверьте работу приложения, результат предъявите преподавателю.

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных