Foreversoft.ru

IT Справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Listbox vba excel примеры

Listbox vba excel примеры

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

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

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

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

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

Таблица 1. Основные свойства ListBox
СвойствоНазначение
ListIndexВозвращает номер текущего элемента списка. Нумерация элементов списка начинается с нуля
ListCountВозвращает число элементов списка
TopIndexВозвращает элемент списка с наибольшим номером
ColumnCountУстанавливает число столбцов в списке
TextColumnУстанавливает столбец в списке, элемент которого возвращается свойством Text
EnabledДопустимые значения: True (запрещен выбор значения из списка пользователем) и False (в противном случае)
TextВозвращает выбранный в списке элемент
ListВозвращает элемент списка, стоящий на пересечении указанных строки и столбца. Синтаксис:

RowSourceУстанавливает диапазон, содержащий элементы списка
ControlSourceУстанавливает диапазон (ячейку), куда возвращается выбранный элемент из списка
MultiSelectУстанавливает способ выбора элементов списка. Допустимые значения:

  • fmMultiSelectSingle (выбор только одного элемента);
  • fmMultiSelectMulti (разрешен выбор нескольких элементов посредством либо щелчка, либо нажатием клавиши Пробел );
  • fmMultiSelectExtended (разрешено использование клавиши Shift при выборе ряда последовательных элементов списка).

SelectedДопустимые значения: True (если элемент списка выбран) и False (в противном случае). Используется для определения выделенного текста, когда свойство MultiSelect имеет значение fmMultiSelectMulti или fmMultiSelectExtended .
ColumnWidthsУстанавливает ширину столбцов списка. Синтаксис:
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Удаляет из списка элемент с указанным номером. Синтаксис:

Параметр index определяет номер удаляемого из списка элемента

AddItemДобавляет элемент в список. Синтаксис:

  • item — элемент (строковое выражение), добавляемый в список;
  • varIndex — номер добавляемого элемента.

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

Класс ListBox — создание простого списка в VBA

Элемент управления ListBox vba позволяет добавлять список с данными на форму. В отличии от комбинированного списка ComboBox, ListBox имеет следующие отличия:

  • Тут нельзя вводить собственные значения, а лишь любоваться теми, что были добавлены изначально
  • Есть возможность выбирать сразу несколько значений.

Хорошо, прежде чем продолжить, вспоминаем – для запуска редактора VBA служит комбинация клавиш Alt + F11, все элементы управления находятся в окне ToolBox (меню Insert, пункт ToolBox). Вот некоторые свойства для объекта ListBox:

ColumnCount – позволяет задать количество столбиков в списке

ColumnHeads – позволяет задать режим отображения заголовков для колонок: true – заголовки отображаются, false – заголовки не отображаются. Данное свойство актуально при использовании компонента vba ListBox в Exel.

ColumnWidths – свойство определяет ширину колонок, например, “20;30;15”. Как видим, значение строковое, тут мы задали ширину для трех столбиков, если мы зададим ноль, то столбик не будет отображаться.

TextColumn – содержит целое значение, определяющее, содержимое которого столбца должно возвращать свойство Text.

BoundColumn — содержит целое значение, определяющее, содержимое которого столбца должно возвращать свойство Value.

Если для TextColumn и BoundColumn прописать 0, то будет возвращаться номер выбранного значения в списке объекта ListBox VBA языка.

Если вам надо вывести значение для заданного столбика, то надо просто прописать свойство Column задав после него в круглых скобках числовой индекс. Как все это работает, я покажу на примере дальше.

MultiSelect – позволяет определить, как происходит выбор элементов: 0 – fmMultuSelectSingle (только одиночный выбор), 1 — fmMultuSelectMulti (возможность выбирать несколько элементов щелчком мыши или посредством нажатия клавиши “Пробел”), 2 — fmMultuSelectExtended (возможность выбирать несколько элементов посредством нажатия клавиши “Shift”).

VBA Excel ListBox

Теперь надо попрактиковаться, напишем пример использования компонента VBA ListBox в Excel. Но прежде всего, надо заполнить четыре столбика различными данными. Я создал книгу в Excel и заполнил первые четыре столбика такими данными:

  1. A – первое поле Автомобиль (оно будет служить заголовком), далее следуют марки автомобилей.
  2. B – первое поле Телефон (оно будет служить заголовком), далее следуют модели телефона Samsung.
  3. C – первое поле Компьютер (оно будет служить заголовком), далее следуют марки производителей PC.
  4. D – первое поле Напиток (оно будет служить заголовком), далее следуют марки напитков.

Хорошо, таблицу в Excel мы сделали, теперь можно приступить к работе с проектом. И так, добавьте в проект новый модуль и форму.

Внешний вид формы вы можете увидеть на рисунке. На форме должны быть расположены два элемента управления vba excel ListBox, три элемента TextBox и одна кнопка (CommandButton). Первый список будет содержать четыре столбца, в которых будет отображаться содержимое первых пятидесяти ячеек для A, B, C и D. Второй список будет содержать также все 4 столбика, но отображаться будет только первый. При нажатии на кнопку, произойдет считывание выбранного элемента во втором списке, и в текстовых полях отобразится содержимое для второй, третьей и четвертой колонки.

Чтобы не путать все еще больше, приступим к практике:

UserForm_Initialize – настройка данных при инициализации формы (UserForm). Тут происходит настройка свойств для первого и второго объекта ListBox vba языка:

ListBox1 – будет отображаться заголовок, компонент содержит четыре колонки, их ширина: 60;80;60;30. Данные в список будут добавляться из диапазона A2:D50, присутствует возможность выделять только один элемент в списке.

ListBox2 – тут практически все тоже самое, что и для первого списка, только ширина колонок: 60;0;0;0 – то есть, будет отображаться содержимое только первой колонки.

CommandButton1_Click – тут происходит обработка щелчка по кнопке, а именно: происходит проверка, выбрано ли что-то во втором списке (vba excel ListBox), если да, то в первое текстовое поле запишется содержимое из второй колонки, во второе – из третей и в третье – из четвертой.

Спасибо за внимание. Автор блога Владимир Баталий

Заполнение ListBox с использованием свойства List

Здраствуйте, уважаемые форумцы!

Можно маленький вопросик?

Надо написать макрос, кот бы производил заполнение списка пятью фамилиями, используя свойство List, и связать с кнопкой.
Вот написала:

А комп плюется, говорит, не правильно

Че не так? Спасиб заранее

Visual Basic
26.07.2006, 03:44

Заполнение listBox и comboBox в отдельном потоке с использованием событий
Всем привет! Я хочу сделать следующее: комбобокс (или несколько) должен заполняться элементами.

Отображение в listBox поля элемента из коллекции коллекций List
>

Есть карта в pictureBox-е. На ней мышкой ставяться флажки(маркеры). Нужно хранить их в БД с.

Свойства ListBox
Здравствуйте! Проблема в следующем: заполняю ListBox1 значениями из поля базы данных, вот так: .

List и listbox
Доброго времени, есть задача: Список содержит некоторые сведения о медицинском осмотре.

26.07.2006, 13:152

Это точно! Во всём виноват «неуч-компьютер»!

Отправь его в первый класс!

Visual Basic
26.07.2006, 14:083
26.07.2006, 21:13 [ТС]4
27.07.2006, 01:245
Visual Basic
27.07.2006, 01:36 [ТС]6
Visual Basic
27.07.2006, 01:487
27.07.2006, 03:42 [ТС]8
27.07.2006, 04:07 [ТС]9
28.07.2006, 19:5010
Visual Basic
29.07.2006, 05:37 [ТС]11
29.07.2006, 16:52 [ТС]12
29.07.2006, 16:52
29.07.2006, 16:52

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Связывание List и ListBox
Здравствуйте, подскажите пожалуйста. У меня имеется список строк, который нужно связать с.

List это Listbox ?
Привет ребята, дали задание создать прогу со списком использовать (List) а list и listbox не одно и.

Связывание List с ListBox
Добрый день, играюсь с WPF есть несколько вопросов к Гуру В code-behind достаю из базы какую-то.

Заполнение List
Всем привет, вторые сутки мучаюсь с проблемой, пишу рпг под консоль задумка была сделать инвентарь.

VBA Excel. Элемент управления ListBox (список)

Элемент управления пользовательской формы ListBox для выбора и ввода информации в VBA Excel. Свойства списка, его заполнение, извлечение данных, примеры кода.

Элемент управления ListBox

UserForm.ListBox – это элемент управления пользовательской формы, предназначенный для передачи в код VBA информации, выбранной пользователем из одностолбцового или многостолбцового списка.

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

Использование полос прокрутки уменьшает преимущество ListBox перед элементом управления ComboBox, которое заключается в том, что при открытии формы все позиции для выбора на виду без дополнительных действий со стороны пользователя. При выборе информации из большого списка удобнее использовать ComboBox.

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

Свойства списка

СвойствоОписание
ColumnCountУказывает количество столбцов в списке. Значение по умолчанию = 1.
ColumnHeadsДобавляет строку заголовков в ListBox. True – заголовки столбцов включены, False – заголовки столбцов выключены. Значение по умолчанию = False.
ColumnWidthsШирина столбцов. Значения для нескольких столбцов указываются в одну строку через точку с запятой (;).
ControlSourceСсылка на ячейку для ее привязки к элементу управления ListBox.
ControlTipTextТекст всплывающей подсказки при наведении курсора на ListBox.
EnabledВозможность выбора элементов списка. True – выбор включен, False – выключен*. Значение по умолчанию = True.
FontШрифт, начертание и размер текста в списке.
HeightВысота элемента управления ListBox.
LeftРасстояние от левого края внутренней границы пользовательской формы до левого края элемента управления ListBox.
ListПозволяет заполнить список данными из одномерного или двухмерного массива, а также обращаться к отдельным элементам списка по индексам для записи и чтения.
ListIndexНомер выбранной пользователем строки. Нумерация начинается с нуля. Если ничего не выбрано, ListIndex = -1.
LockedЗапрет возможности выбора элементов списка. True – выбор запрещен**, False – выбор разрешен. Значение по умолчанию = False.
MultiSelect***Определяет возможность однострочного или многострочного выбора. (fmMultiSelectSingle) – однострочный выбор, 1 (fmMultiSelectMulti) и 2 (fmMultiSelectExtended) – многострочный выбор.
RowSourceИсточник строк для элемента управления ListBox (адрес диапазона на рабочем листе Excel).
TabIndexЦелое число, определяющее позицию элемента управления в очереди на получение фокуса при табуляции. Отсчет начинается с 0.
TextТекстовое содержимое выбранной строки списка (из первого столбца при ColumnCount > 1). Тип данных String, значение по умолчанию = пустая строка.
TextAlignВыравнивание текста: 1 (fmTextAlignLeft) – по левому краю, 2 (fmTextAlignCenter) – по центру, 3 (fmTextAlignRight) – по правому краю.
TopРасстояние от верхнего края внутренней границы пользовательской формы до верхнего края элемента управления ListBox.
ValueЗначение выбранной строки списка (из первого столбца при ColumnCount > 1). Value – свойство списка по умолчанию. Тип данных Variant, значение по умолчанию = Null.
VisibleВидимость списка. True – ListBox отображается на пользовательской форме, False – ListBox скрыт.
WidthШирина элемента управления.

* При Enabled в значении False возможен только вывод информации в список для просмотра.
** Для элемента управления ListBox действие свойства Locked в значении True аналогично действию свойства Enabled в значении False.
*** Если включен многострочный выбор, свойства Text и Value всегда возвращают значения по умолчанию (пустая строка и Null).

В таблице перечислены только основные, часто используемые свойства списка. Еще больше доступных свойств отображено в окне Properties элемента управления ListBox, а все методы, события и свойства – в окне Object Browser.

Вызывается Object Browser нажатием клавиши «F2». Слева выберите объект ListBox, а справа смотрите его методы, события и свойства.

Свойства BackColor, BorderColor, BorderStyle отвечают за внешнее оформление списка и его границ. Попробуйте выбирать доступные значения этих свойств в окне Properties, наблюдая за изменениями внешнего вида элемента управления ListBox на проекте пользовательской формы.

Способы заполнения ListBox

Используйте метод AddItem для загрузки элементов в список по одному:

Читать еще:  Vba excel добавить лист в конец
Ссылка на основную публикацию
Adblock
detector