Kombinovaný box Excel VBA s více sloupci - snadná makra aplikace Excel

Obsah

Níže se podíváme na program v Excel VBA který vytvoří Userform, který obsahuje a kombinovaný box s více sloupci.

Formulář uživatele, který vytvoříme, vypadá následovně:

Chcete -li vytvořit tento Userform, proveďte následující kroky.

1. Otevřete editor jazyka. Pokud Průzkumník projektů není viditelný, klikněte na Zobrazit, Průzkumník projektů.

2. Klikněte na Vložit, Uživatelská forma. Pokud se Panel nástrojů nezobrazí automaticky, klikněte na Zobrazit, Panel nástrojů. Obrazovka by měla být nastavena níže.

3. Přidejte štítek, pole se seznamem a příkazová tlačítka. Jakmile to bude dokončeno, výsledek by měl být v souladu s obrázkem formuláře uživatele zobrazeným dříve. Například vytvořte ovládací prvek pole se seznamem kliknutím na ComboBox z panelu nástrojů. Dále můžete přetáhnout pole se seznamem na Userform.

4. Můžete změnit názvy a titulky ovládacích prvků. Jména se používají v kódu Excel VBA. Titulky jsou ty, které se zobrazují na vaší obrazovce. Je dobrým zvykem změnit názvy ovládacích prvků, ale není to nutné, protože v tomto příkladu máme jen několik ovládacích prvků. Chcete -li změnit popisek tlačítek Userform, Label a Command, klikněte na View, Window Properties a klikněte na každý ovládací prvek.

5. Chcete -li zobrazit formulář Userform, umístěte na list příkazové tlačítko a přidejte následující řádek kódu:

Private Sub CommandButton1_Click ()
UserForm1.Show
End Sub

Nyní se chystáme vytvořit Sub UserForm_Initialize. Když použijete metodu Showform pro Userform, tento dílčí díl bude automaticky spuštěn.

6. Otevřete editor jazyka.

7. V aplikaci Project Explorer klepněte pravým tlačítkem na UserForm1 a poté klepněte na Zobrazit kód.

8. Z rozevíracího seznamu vlevo vyberte Userform. V pravém rozevíracím seznamu vyberte položku Inicializovat.

9. Přidejte následující řádky kódu:

Private Sub UserForm_Initialize ()
ComboBox1.ColumnCount = 2
Dim Films (1 až 5, 1 až 2) jako řetězec
Dim i jako celé číslo, j jako celé číslo
Films (1, 1) = "Pán prstenů"
Filmy (2, 1) = "Rychlost"
Filmy (3, 1) = "Hvězdné války"
Films (4, 1) = "Kmotr"
Films (5, 1) = "Pulp Fiction"
Films (1, 2) = "Dobrodružství"
Filmy (2, 2) = "Akce"
Filmy (3, 2) = "Sci-Fi"
Filmy (4, 2) = "Zločin"
Filmy (5, 2) = "Drama"
ComboBox1.List = Filmy
End Sub

Vysvětlení: První řádek kódu nastavuje počet sloupců pole se seznamem na hodnotu 2. Místo nastavení počtu sloupců za běhu můžete toto nastavení konfigurovat také v době návrhu. Chcete-li toho dosáhnout, klepněte pravým tlačítkem myši na ovládací prvek pole se seznamem, klepněte na příkaz Vlastnosti a nastavte vlastnost ColumnCount na hodnotu 2. Dále deklarujeme a inicializujeme dvourozměrné pole. Poslední řádek kódu přiřadí pole do pole se seznamem.

Nyní jsme vytvořili první část Userform. Ačkoli to už vypadá úhledně, nic se ještě nestane, když klikneme na příkazová tlačítka na Userform.

10. V aplikaci Project Explorer dvakrát klikněte na UserForm1.

11. Poklepejte na tlačítko OK.

12. Přidejte následující řádky kódu:

Private Sub CommandButton1_Click ()
Vyložit mě
MsgBox „Vybrali jste“ & ComboBox1.Hodnota
Při chybě Pokračovat Další
MsgBox „Líbí se vám“ & ComboBox1.Sloupec (1) a „filmy“
End Sub

Poznámka: tyto řádky kódu zavírají formulář uživatele aplikace Excel VBA a zobrazují vybranou položku a žánr. Příkaz 'On Error Resume Next' ignoruje chybu, když uživatel vyplní svůj vlastní film (v tomto případě není k dispozici žádný žánr).

13. Poklepejte na tlačítko Storno.

14. Přidejte následující řádek kódu:

Private Sub CommandButton2_Click ()
Vyložit mě
End Sub

Výsledek, když vyberete Rychlost a kliknete na OK.

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave