Přejít na hlavní obsah

Vyplnění kombinovaného boxu VBA Excel: podrobné pokyny a příklady použití

Kombobox – je to jeden z nejužitečnějších ovládacích prvků, který vám umožňuje zadávat data z předem určeného seznamu. V aplikaci VBA Excel je kombobox nedílnou součástí vývoje uživatelského rozhraní, které usnadňuje zadávání dat a umožňuje snadnou práci s tabulkami a databázemi.

V tomto článku se podrobně podíváme na to, jak vyplnit kombobox v aplikaci VBA Excel a podíváme se na základní metody a vlastnosti, které vám pomohou vytvořit uživatelsky přívětivé a funkční rozhraní pro vaši pracovní knihu.

Hlavními metodami pro vyplnění kombinovaného boxu VBA Excel jsou metody AddItem a ColumnWidths, které vám umožňují přidat položky do seznamu komboboxů a nastavit šířku reproduktorů pro seznam podle toho.

Aplikace kombinovaného boxu VBA Excel může být rozmanitá, od výběru položek z příručky až po filtrování dat v tabulce. Tento článek se zabývá základními příklady použití komboboxu, které vám pomohou rychleji a pohodlněji pracovat v aplikaci VBA Excel.

Jak vyplnit kombinovaný Box VBA Excel

Zde je příklad kódu, který vám umožní vyplnit datový Box:

Sub FillComboBox()Dim comboBox As ComboBoxSet comboBox = Sheet1.ComboBox1comboBox.Clear ' очищаем комбобокс перед заполнением' заполняем комбобокс данными из массиваcomboBox.List = Array("Значение 1", "Значение 2", "Значение 3")End Sub

V tomto příkladu vytvoříme objekt komboboxu pomocí příkazu Set a přivážeme jej k prvku komboboxu na listu pomocí vlastnosti Sheet1.ComboBox1 . Kombobox pak vyčistíme metodou Clear a vyplníme jej daty z pole pomocí vlastnosti List .

Kombobox lze také vyplnit hodnotami z rozsahu buněk pomocí vlastnosti ListFillRange . Chcete-li to provést, musíte zadat rozsah buněk ve formátu list!Rozsah . Zde je příklad kódu:

Sub FillComboBoxFromRange()Dim comboBox As ComboBoxSet comboBox = Sheet1.ComboBox1comboBox.Clear' заполняем комбобокс значениями из диапазона ячеекcomboBox.ListFillRange = "Лист1!A1:A5"End Sub

V tomto příkladu vyplníme kombobox hodnotami z rozsahu buněk A1: A5 na listu List1 . Všimněte si, že před uvedením rozsahu buněk byste měli uvést název listu a vykřičník.

Pomocí kódu VBA Excel lze tedy snadno vyplnit kombinovaný Box hodnotami z pole nebo rozsahu buněk. To je velmi užitečné, pokud chcete dynamicky měnit seznam hodnot v kombinovaném boxu v závislosti na konkrétních podmínkách nebo datech.

Příklady použití komboboxu v aplikaci VBA Excel

1. Vyplnění kombinovaného boxu daty z rozsahu buněk:

Sub FillComboBox()Dim ComboBoxRange As RangeDim ComboBoxValue As VariantDim i As Integer' Определение диапазона ячеек для заполнения комбобоксаSet ComboBoxRange = Range("A1:A5")' Очистка комбобокса перед заполнениемComboBox1.Clear' Заполнение комбобокса данными из диапазона ячеекFor i = 1 To ComboBoxRange.Rows.CountComboBoxValue = ComboBoxRange.Cells(i, 1).ValueComboBox1.AddItem ComboBoxValueNext i' Установка значения по умолчаниюComboBox1.Value = ComboBoxRange.Cells(1, 1).ValueEnd Sub

2. Vyplnění komboboxu údaji z pole:

Sub FillComboBoxFromArray()Dim ComboBoxValues() As VariantDim i As Integer' Определение массива значений для заполнения комбобоксаComboBoxValues = Array("Значение 1", "Значение 2", "Значение 3")' Очистка комбобокса перед заполнениемComboBox2.Clear' Заполнение комбобокса данными из массиваFor i = LBound(ComboBoxValues) To UBound(ComboBoxValues)ComboBox2.AddItem ComboBoxValues(i)Next i' Установка значения по умолчаниюComboBox2.Value = ComboBoxValues(LBound(ComboBoxValues))End Sub

3. Vyplňování údajů z výsledku dotazu do databáze:

Sub FillComboBoxFromDatabase()Dim Connection As ObjectDim Recordset As ObjectDim ComboBoxValue As Variant' Подключение к базе данныхSet Connection = CreateObject("ADODB.Connection")Connection.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\База данных.accdb"' Выполнение запросаSet Recordset = Connection.Execute("SELECT Значение FROM Таблица")' Очистка комбобокса перед заполнениемComboBox3.Clear' Заполнение комбобокса данными из результата запросаDo Until Recordset.EOFComboBoxValue = Recordset.Fields("Значение").ValueComboBox3.AddItem ComboBoxValueRecordset.MoveNextLoop' Установка значения по умолчаниюComboBox3.Value = ComboBox3.List(0)' Закрытие подключения к базе данныхRecordset.CloseConnection.CloseSet Recordset = NothingSet Connection = NothingEnd Sub

Tyto příklady ukazují různé způsoby, jak vyplnit kombobox v aplikaci VBA Excel. Můžete si vybrat nejpohodlnější způsob v závislosti na kontextu vaší práce a zdroji dat.