Přejít na hlavní obsah

Jak vypočítat počet položek v listboxu pomocí aplikace Excel VBA

ListBox je ovládací prvek, který umožňuje uživateli vybrat jednu nebo více položek z navrhovaného seznamu. V aplikaci Microsoft Excel je ListBox jedním z typů ovládacích prvků, které lze přidat do formuláře uživatele.

Jednou z důležitých operací, které je třeba provést při práci s Listboxem, je počítání počtu položek v něm. Může to být například užitečné, když potřebujete zjistit, kolik položek uživatel na formuláři vybral nebo kolik položek již bylo přidáno do seznamu.

K provedení tohoto úkolu Excel VBA používá vlastnost ListCount, která vrací počet položek do listboxu. Tuto vlastnost lze použít jak na Listbox ve tvaru, tak na ListBox vytvořený dynamicky v kódu VBA.

V tomto článku se podíváme na příklady použití vlastnosti ListCount k výpočtu počtu položek v listboxu a poskytneme vám přehled o tom, jak jej použít ve vaší práci s VBA a Listboxem v Excelu.

Získání počtu položek v listboxu v Excelu VBA

ListBox v Excelu je VBA ovládací prvek používaný k zobrazení seznamu položek, ze kterých si uživatel může vybrat jednu nebo více položek. Často je potřeba znát počet položek v listboxu, abyste mohli provádět další operace s daty.

Chcete-li získat počet položek v listboxu v Excelu VBA, můžete použít vlastnost ListBox.ListCount . Tato vlastnost vrací počet položek v seznamu ListBox.

Dim numItems As IntegernumItems = ListBox1.ListCount

V tomto příkladu bude proměnná numItems obsahovat počet položek v listboxu s názvem "ListBox1".

Pomocí vlastnosti ListCount lze dynamicky určit počet položek v listboxu a provádět operace s daty podle získaných hodnot. Můžete například provést smyčku, abyste obešli všechny položky listboxu:

Dim i As IntegerFor i = 0 To ListBox1.ListCount - 1' Выполнить операции с элементом ListBoxMsgBox ListBox1.List(i)Next i

V tomto příkladu prochází smyčka for všemi položkami listboxu a každou položku zobrazuje v samostatném okně zprávy pomocí funkce MsgBox .

Všimněte si, že indexování prvků listboxu začíná od nuly, takže smyčka používá výraz ListBox1.ListCount-1 pro správné obcházení všech prvků.

Nyní víte, jak získat počet položek v listboxu v Excelu VBA a jak tuto hodnotu použít k provádění datových operací.

Instalace listboxu v Excelu VBA

Zde je návod, jak umístit ListBox na list knihy:

  1. Otevřete Visual Basic Editor kliknutím Alt + F11.
  2. Vyberte list, na který chcete ListBox umístit.
  3. Na panelu nástrojů klikněte pravým tlačítkem a vyberte Insert, potom UserForm.
  4. Přetáhněte a uvolněte ovládací prvek ListBox do formuláře.
  5. V okně editoru kódu vložte následující kód:

Private Sub UserForm_Initialize()ListBox1.AddItem "Значение 1"ListBox1.AddItem "Значение 2"ListBox1.AddItem "Значение 3"End Sub

Nyní máte ListBox na listu knihy. Položky můžete přidat nebo odebrat jednoduše změnou kódu v události UserForm_Initialize.

Pokud chcete ListBox používat na vlastní formě, můžete použít podobné kroky výměnou listu knihy za vlastní formulář.

Jak přidat položky do listboxu

ListBox v Excelu VBA je ovládací prvek, který umožňuje uživatelům zobrazit seznam položek. Přidání položek do listboxu lze provést několika způsoby.

Nejjednodušší způsob je použít vlastnost ListBox. Tato vlastnost nám umožňuje přidávat položky do listboxu z pole nebo datového rozsahu. Pokud například máme pole dat se jmény, můžeme je přidat do listboxu následovně:

Dim names() As VariantDim i As Integernames = Array("Иван", "Мария", "Алексей", "Ольга")For i = LBound(names) To UBound(names)ListBox1.AddItem names(i)Next i

V tomto příkladu oznamujeme pole s názvy names a pomocí smyčky For přidáváme každé jméno do listboxu pomocí metody AddItem .

Položky můžete také přidat do listboxu pomocí metody Column, která Vám umožňuje přidat položky jako jednotlivé sloupce nebo jako řádky. Například:

ListBox1.Column(0, 0) = "Иван"ListBox1.Column(0, 1) = "Мария"ListBox1.Column(0, 2) = "Алексей"ListBox1.Column(0, 3) = "Ольга"

Zde používáme vlastnost Column ListBox k přidání prvků do prvního sloupce. Každá položka je přidána pomocí sloupcového indexu Column(0, index) .

Nakonec můžete také přidat položky do listboxu pomocí vlastnosti RowSource . Vlastnost RowSource vám umožňuje zadat zdroj dat pro ListBox, což může být rozsah dat na vašem listu Excel. Například:

ListBox1.RowSource = "Лист1!A1:A4"

V tomto příkladu nastavíme vlastnost Rowsource ListBox jako rozsah A1: A4 na List1. Tím se do listboxu přidají všechny hodnoty z tohoto rozsahu.

Pomocí jedné z těchto metod můžete snadno přidat položky do listboxu v Excelu pomocí VBA.

Získání počtu položek v listboxu

K výpočtu počtu položek v listboxu pomocí aplikace Excel VBA lze použít vlastnost Count. Tato vlastnost vrací počet položek do listboxu.

Sub CountItemsInListBox() Dim ListBox1 As ListBox Dim count As Integer Set ListBox1 = Sheet1.ListBoxes ("ListBox1") 'nahraďte" ListBox1 " jménem vašeho ListBox count = ListBox1.ListCount 'získání počtu položek v ListBox MsgBox" počet položek: "& count End Sub

V tomto příkladu nejprve deklarujeme proměnnou ListBox1 jako objekt ListBox. Poté použijeme metodu Set k přiřazení objektu ListBox1 ListBox umístěného na listu Sheet1 (nahraďte "ListBox1" jménem vašeho listboxu a "Sheet1" jménem vašeho listu).

Poté použijeme vlastnost ListCount k získání počtu položek v listboxu. Hodnota vlastnosti ListCount je přiřazena proměnné count.

Nakonec zobrazíme zprávu s počtem položek pomocí příkladu MsgBox "počet položek:" & count.

Nyní, pokud spustíte makro CountItemsInListBox, uvidíte zprávu s počtem položek v listboxu.

Příklad kódu pro výpočet počtu položek

Chcete-li spočítat počet položek v listboxu pomocí aplikace Excel VBA, můžete použít vlastnost `ListCount`. Tato vlastnost vrací počet položek do listboxu.

Zde je příklad kódu, který demonstruje použití vlastnosti ' ListCount`:

Dim lb As ListBox

Set lb = Sheet1.ListBox1 'nahraďte" ListBox1 " jménem svého listboxu

Dim itemCount As Long

MsgBox "počet položek v ListBox:" & itemCount

V tomto příkladu nejprve vytvoříme proměnnou 'lb`, která odkazuje na ListBox na listu`Sheet1'. Poté použijeme vlastnost 'ListCount `k získání počtu položek v listboxu a uložíme tuto hodnotu do proměnné`itemCount'. Nakonec zobrazíme zprávu s počtem položek listboxu pomocí funkce 'MsgBox'.

Pomocí tohoto kódu budete moci snadno spočítat počet položek v listboxu pomocí aplikace Excel VBA.