Шаг 67.
VBA в MSExcel.
Элементы управления и пользовательская форма. Элемент ListBox (Список)

    На этом шаге мы рассмотрим назначение, основные свойства и методы этого элемента.

    Элемент управления ListBox (Список) создается с помощью кнопки Список (ListBox) (рисунок 1).


Рис.1. Список в форме

    Элемент управления ListBox применяется для хранения списка значений. Из списка пользователь может выбрать одно или несколько значений, которые в последующем будут использоваться в тексте программы.

    Приведем наиболее часто используемые свойства элемента управления ListBox.

Таблица 1. Основные свойства ListBox
Свойство Назначение
ListIndex Возвращает номер текущего элемента списка. Нумерация элементов списка начинается с нуля
ListCount Возвращает число элементов списка
TopIndex Возвращает элемент списка с наибольшим номером
ColumnCount Устанавливает число столбцов в списке
TextColumn Устанавливает столбец в списке, элемент которого возвращается свойством Text
Enabled Допустимые значения: True (запрещен выбор значения из списка пользователем) и False (в противном случае)
Text Возвращает выбранный в списке элемент
List Возвращает элемент списка, стоящий на пересечении указанных строки и столбца. Синтаксис:
  List (Row, Column)
RowSource Устанавливает диапазон, содержащий элементы списка
ControlSource Устанавливает диапазон (ячейку), куда возвращается выбранный элемент из списка
MultiSelect Устанавливает способ выбора элементов списка. Допустимые значения:
  • fmMultiSelectSingle (выбор только одного элемента);
  • fmMultiSelectMulti (разрешен выбор нескольких элементов посредством либо щелчка, либо нажатием клавиши Пробел);
  • fmMultiSelectExtended (разрешено использование клавиши Shift при выборе ряда последовательных элементов списка).
Selected Допустимые значения: True (если элемент списка выбран) и False (в противном случае). Используется для определения выделенного текста, когда свойство MultiSelect имеет значение fmMultiSelectMulti или fmMultiSelectExtended.
ColumnWidths Устанавливает ширину столбцов списка. Синтаксис:
  ColumnWidths = String
String — строка, устанавливающая ширину столбцов. В следующем примере устанавливается ширина каждого из трех столбцов списка:
  With ListBox1
    .ColumnCount = 3 
    .ColumnWidths = "20;30;30" 
  End With
ColumnHeads Допустимые значения: True (выводятся заголовки столбцов раскрывающегося списка) и False (в противном случае)
ListStyle Допустимые значения:
  • fmListStylePlain (выбранный элемент из списка выделяется цветом);
  • fmListStyleOption (перед каждым элементом в списке располагается флажок и выбор элемента из списка соответствует установке этого флажка).
MatchEntry Выводит первый подходящий элемент из списка при наборе его имени на клавиатуре. Допустимые значения:
  • fmMatchEntryNone (режим вывода подходящего элемента в списке отключен);
  • fmMatchEntryFirstLetter (вводит подходящий элемент по набранной первой букве. В этом случае, предпочтительно, чтобы элементы списка были бы упорядочены в алфавитном порядке)
  • fmMatchEntryComplete (вводит подходящий элемент по полному набранному имени).
BoundColumn Устанавливает тип, возвращаемый свойством Value. А именно,
  • если свойство BoundColumn равно 0, то свойство Value возвращает индекс выбранной строки, т.е. в этом случае оно действует как свойство ListIndex;
  • если свойство BoundColumn принимает значение из диапазона от 1 до количества столбцов в списке, то свойство Value возвращает элемент из выбранной строки, стоящий в столбце, определенном свойством BoundColumn.

    Приведем наиболее часто используемые методы элемента управления ListBox.

Таблица 2. Основные методы ListBox
Метод Назначение
Clear Удаляет все элементы из списка
RemoveItem Удаляет из списка элемент с указанным номером. Синтаксис:
  RemoveItem (index) 
Параметр index определяет номер удаляемого из списка элемента
AddItem Добавляет элемент в список. Синтаксис:
  AddItem ([ item [, varIndex) ] )
  • item — элемент (строковое выражение), добавляемый в список;
  • varIndex — номер добавляемого элемента.

    На следующем шаге мы рассмотрим особености заполнения списка.




Предыдущий шаг Содержание Следующий шаг