Excel VBA -beroende kombinationsboxar - enkla Excel -makron

Innehållsförteckning

Nedan kommer vi att titta på ett program i Excel VBA som skapar en användarform som innehåller beroende kombinationsboxar. Användarformen vi ska skapa ser ut så här:

Användaren väljer Djur från en listruta. Som ett resultat kan användaren välja ett djur från en andra listruta.

Användaren väljer Sport från en listruta. Som ett resultat kan användaren välja en sport från en andra listruta.

För att skapa denna användarform, utför följande steg.

1. Öppna Visual Basic Editor. Om Project Explorer inte syns, klicka på View, Project Explorer.

2. Klicka på Infoga, användarform. Om Verktygslådan inte visas automatiskt klickar du på Visa, Verktygslåda. Din skärm ska konfigureras enligt nedan.

3. Lägg till kombinationsrutorna (först till vänster, den andra till höger) och kommandoknappen. När detta har slutförts bör resultatet överensstämma med bilden av användarformen som visades tidigare. Skapa till exempel en kombinationsruta genom att klicka på ComboBox från verktygslådan. Därefter kan du dra en kombinationsruta på användarformuläret.

4. Du kan ändra namn och bildtexter på kontrollerna. Namn används i Excel VBA -koden. Bildtexter är de som visas på skärmen. Det är bra att ändra namnen på kontrollerna, men det är inte nödvändigt här eftersom vi bara har några få kontroller i det här exemplet. För att ändra bildtexten för användarform och kommandoknapp, klicka på Visa, Egenskapsfönster och klicka på varje kontroll.

5. För att visa användarformuläret, placera en kommandoknapp på ditt kalkylblad och lägg till följande kodrad:

Privat underkommandoButton1_Click ()
UserForm1.Show
Avsluta Sub

Vi ska nu skapa Sub UserForm_Initialize. När du använder metoden Visa för användarformuläret körs denna sub automatiskt.

6. Öppna Visual Basic Editor.

7. I Project Explorer, högerklicka på UserForm1 och klicka sedan på Visa kod.

8. Välj Userform från den vänstra listrutan. Välj Initiera från den högra listrutan.

9. Lägg till följande kodrader:

Private Sub UserForm_Initialize ()
Med ComboBox1
.AddItem "Djur"
.AddItem "Sport"
.AddItem "Mat"
Sluta med
Avsluta Sub

Förklaring: Dessa kodrader fyller den första kombinationsrutan.

Vi har nu skapat den första delen av Userform. Även om det ser snyggt ut, kommer inget att hända ännu när vi väljer ett objekt från den första kombinationsrutan.

10. Dubbelklicka på UserForm1 i Project Explorer.

11. Dubbelklicka på den första kombinationsrutan.

12. Lägg till följande kodrader:

Private Sub ComboBox1_Change ()
Dim index som heltal
index = ComboBox1.ListIndex
ComboBox 2. Rensa
Välj fallindex
Fall är = 0
Med ComboBox2
.AddItem "Dog"
.AddItem "Cat"
.AddItem "Häst"
Sluta med
Fall är = 1
Med ComboBox2
.AddItem "Tennis"
.AddItem "Simning"
.AddItem "Basket"
Sluta med
Fall är = 2
Med ComboBox2
.AddItem "Pannkakor"
.AddItem "Pizza"
.AddItem "kinesiska"
Sluta med
Avsluta Välj
Avsluta Sub

Förklaring: Excel VBA använder värdet på variabelindexet för att testa varje efterföljande fallbesked för att se med vilka objekt den andra kombinationsrutan ska fyllas. Gå igenom vårt Select Case -program för att lära dig mer om Select Case -strukturen.

13. Dubbelklicka på knappen Importera.

14. Lägg till följande kodrad:

Privat underkommandoButton1_Click ()
Område ("A1"). Värde = ComboBox2.Value
Avsluta Sub

Resultat:

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave