End With
Или
End With
Заполнение списка
Методы ListBox
Методы | Описание |
Clear | Удаляет все элементы списка |
RemoveItem | Удаляет элемент с указанным номером из списка Синтаксис: RemoveItem(Index) |
AddItem | Добавляет элемент в список Синтаксис: AddItem([Item [, varIndex]]) Item – элемент (строковое выражение), добавляемый в список varIndex – номер добавляемого элемента |
Заполнить список можно одним из следующих способов.
§ Поэлементно (список состоит из одной колонки):
With lstМесяцы
.AddItem “Январь”
.AddItem “Февраль”
.AddItem “Март”
§ Массивом (список состоит из одной колонки)::
lstМесяцы. List = Array (“Январь”, “Февраль”,…,“Декабрь”)
Dim Месяцы(12) As String
Месяцы(1) = “Январь”
Месяцы(2) = “Февраль”
…
Месяцы(12) = “Декабрь”
lstМесяцы. List = Месяцы
§ Поэлементно (список состоит из нескольких колонок, например, двух):
With lstСтудент
.СolumnCount = 2
.AddItem “Иванов”
.List(0,1) = “Алексей”
.AddItem “Петров”
.List(1,1) = “Борис”
.AddItem “Смирнов”
.List(2,1) = “Борис”
§ Массивом (список состоит из нескольких колонок, например, двух):
|
|
ReDim Преподаватели(КолСотрудников, 2)
For I = 3 To КолСотрудников
Преподаватели(КолСотрудников, 1) = Cells(НомерСтроки,2).Value
Преподаватели(КолСотрудников, 2) = Cells(НомерСтроки,3).Value
Next I
lstСотрудники. List = Преподаватели
Предположим, что нам надо создать следующую форму с сотрудниками кафедры:
Требуется написать программу инициализации формы, в которой:
§ Список сотрудников должен быть в 2 колонки (1-я колонка – Ф.И.О, 2-я – Должность).
§ Предусмотрена возможность выбора нескольких элементов.
§ Данные, на основе которых формируется этот список, находятся на рабочем листе Кадры в книге C:\St\Институт.xls (Рис. 12‑14):
Рис. 12‑14. Структура базы данных Кадры
Тогда фрагмент кода, который формирует список, запишется так:
‘ 1. Массив Преподаватели объявляем как динамический массив
Dim Преподаватели() As String
Dim ПреподавателиТранс() As String
Dim НомерСтроки As Integer
Dim КолСотрудников As Integer
....
НомерСтроки = 3
КолСотрудников = 0
‘ 2. Считываем данные в динамический массив:
While Trim (Cells(НомерСтроки,2).Value) <> “”
If Trim(Cells(НомерСтроки, 1).Value) = "АСУ" Then
КолСотрудников = КолСотрудников + 1
ReDim Preserve Преподаватели(2, КолСотрудников)
Преподаватели(1,КолСотрудников) = _
Cells(НомерСтроки,2).Value
Преподаватели(2,КолСотрудников) = _
Cells(НомерСтроки,3).Value