Sådan bruges ComboBox i VBA Excel -brugerform?

Indholdsfortegnelse:

Anonim

En komboboks på en brugerform er som en rullemenu, som kan bruges til at vælge en mulighed blandt de tilgængelige muligheder. Det er ligesom rullemenuen, vi opretter ved hjælp af datavalidering på regneark.

I de fleste digitale former skal du have set mindst en kombinationsboks. Det kunne have været for at vælge en stat fra en liste over stater, et kursus fra en kursusliste, et land fra en liste over lande osv. I denne artikel lærer vi, hvordan du tilføjer en kombinationsboks i en VBA -brugerform, hvordan at initialisere comboboxen med værdier og hvordan man henter værdi fra combobox.

Tilføjelse af en kombinationsboks til brugerformular

For at tilføje en komboboks til en brugerformular skal du først have en brugerformular. Dah !.

Så åbn VBE ved hjælp af CTRL+F11. Højreklik på projektmappen, gå til indsæt og klik på Brugerform. Du har tilføjet en brugerform. Du kan læse mere om brugerformer i VBA her.

Vælg nu kombinationsboks fra værktøjskassen. Det er den fjerde mulighed på den øverste række. Hvis du ikke kan se værktøjskassen. Gå til Vis i menuen, klik på Værktøjskasse. Værktøjskassen vises.

Jeg har tilføjet en etiket med tilstande, fordi denne kombinationsboks vil indeholde en liste over nogle stater og en knappen Send for at indsende formularen.

Sådan initialiseres en komboboks i brugerform?

Det er den del, hvor de fleste mennesker begår fejl. Nogle gange skriver eleverne koden til indlæsning af værdier i kombinationsboksen og sender derefter knapper. Og når de indlæser brugerformularen, viser kombinationsboksen ingen værdier.

For at indlæse kombiboksen skal du skrive koden, inden du indlæser brugerformularen. Dette kan gøres i modulet, c eller knappen, hvor du indlæser formularen. Koden til indlæsning af kombinationsbokslisten skal komme før kommandoen formname.show.

Indlæser Combobox i UserForm Calling Subroutine

Lad os sige, at jeg vil hard kode en række i statens komboboks. Så jeg vil skrive en underrutine, som indlæser brugerformularen for at udfylde oplysninger. Se nedenstående kode.

Sub load_userform () states = Array ("Delhi", "UP", "UK", "Gujrat", "Kashmir") UserForm1.ComboBox1.List = states UserForm1.Show End Sub 

Jeg definerer en matrix "stater", der indeholder et par navne på indiske stater. Nu bruger jeg brugerformsnavnet til at få adgang til kombiboks, da komboboks er en del af brugerform.

Min brugerforms navn er userform1. Og combobox hedder combobox1. Disse er standardnavne. Du kan ændre dem fra ejendomsvinduet.

Dernæst initialiserer jeg komboboksens listeegenskab med tilstande.

Og så viser jeg userform1 ved hjælp af kommandoen show.

Når du kører ovenstående kode, vil kombinationsboksen have alle de angivne tilstande.

Initialiserer Combobox ved hjælp af UserForm_Initialize () -hændelse.

En anden metode til indlæsning af kombinationsbokskomponenter på brugerformular er brug af brugerformbegivenhed Initialiser. Denne begivenhed kører før brugerformularen indlæses. Alt, hvad du vil gøre, før brugerformularen indlæses, kan du gøre det her. En af disse ting er at indlæse combobox -elementer.

Så dobbeltklik på userform for at åbne kodningsområdet i userform -objektet. Vælg nu brugerform fra den venstre rullemenu. Vælg derefter initialiser fra højre rullemenu.

Et tomt undernavn UserForm_Initialize () indsættes. Alt, der er skrevet i denne sub, vil blive eksekveret, før brugerformularen vises.

Så vi skriver initialiseringskoden til combobox her.

Private Sub UserForm_Initialize () states = Array ("Delhi", "UP", "UK", "Gujrat", "Kashmir") UserForm1.ComboBox1.List = state End Sub 

Bemærk, at vi ikke har kommandoen userform1.show her. Det er stadig i det modul. Denne sub vil blive brugt til at få vores brugerformular på skærmen.

Sub load_userform () UserForm1.Show End Sub 

Så brugerne vil køre load_userform sub ved hjælp af en kommando, knap eller makro tildelt element. Da kompilatoren kører kommandoen code userform1.show, kører den straks begivenheden useforma_initialize (). Bagefter viser det brugerformen til brugerne.

Bemærkninger:

Hvis du skriver koden for at initialisere combobox med værdier i kommandoknappen1 klik, viser combobox ikke noget.

For at initialisere komboboksen med værdier skal den indlæses under alle omstændigheder, der opstår, før brugeren når kombokassen for at udfylde.

Henter værdi fra ComboBox

Så vi bruger formularer til at få nogle oplysninger. Og for at bruge disse oplysninger skal vi hente dem. For at få nogen værdi fra brugerformens komboboks bruger vi egenskaben combobox.value. Generelt henter vi værdierne fra formelementer, når brugeren har udfyldt formularen og indsender formularen ved hjælp af knappen Send. Så vi kan bruge kommandoen button_click event. Så indsæt en kommandoknap og skriv indsend på den, hvis du ikke allerede har den. Dobbeltklik nu på det, og du vil være inde i commandButton_click -begivenheden.

Opret nu en variabel for at gemme værdien. Gem det på et ark, hvis du vil. Afslut endelig formularen med kommandoen Unload Me. Som vist i nedenstående kode.

Private Sub CommandButton1_Click () State = ComboBox1.Value ThisWorkbook.Worksheets ("sheet1"). Range ("A1") = State Unload Me End Sub 

Så ja fyre, det er sådan du bruger combobox i VBA -brugerformer. Jeg håber, jeg var forklarende og til det punkt. Hvis du har spørgsmål vedrørende dette emne eller andre VBA -relaterede spørgsmål, så spørg mig i kommentarfeltet herunder.

Kom godt i gang med Excel VBA UserForms| Jeg vil forklare, hvordan man opretter en formular i excel, hvordan man bruger VBA -værktøjskasse, hvordan man håndterer brugerinput og endelig hvordan man gemmer brugerinput. Vi vil gennemgå disse emner ved hjælp af et eksempel og en trinvis vejledning.

VBA -variabler i Excel| VBA står for Visual Basic for Applications. Det er et programmeringssprog fra Microsoft. Det bruges med Microsoft Office-applikationer som MSExcel, MS-Word og MS-Access, hvorimod VBA-variabler er specifikke søgeord.

Excel VBA variabelt omfang| På alle programmeringssprog har vi variabeladgangsspecifikatorer, der definerer, hvorfra der kan tilgås en defineret variabel. Excel VBA er ingen undtagelse. VBA har også omfangsspecifikationer.

ByRef og ByVal argumenter | Når et argument sendes som et ByRef -argument til en anden sub eller funktion, sendes referencen til den faktiske variabel. Eventuelle ændringer, der foretages i kopien af ​​variablen, vil afspejle sig i det originale argument.

Slet ark uden bekræftelsesmeddelelser ved hjælp af VBA i Microsoft Excel | Da du sletter ark ved hjælp af VBA, ved du, hvad du laver. Du vil gerne bede Excel om ikke at vise denne advarsel og slette det forbandede ark.

Tilføj og gem ny arbejdsmappe ved hjælp af VBA i Microsoft Excel 2016| I denne kode oprettede vi først en reference til et projektmappeobjekt. Og så initialiserede vi det med et nyt projektmappeobjekt. Fordelen ved denne tilgang er, at du nemt kan udføre operationer på denne nye projektmappe. Som at gemme, lukke, slette osv

Vis en meddelelse på Excel VBA -statuslinjen| Statuslinjen i excel kan bruges som kodeovervågning. Når din VBA -kode er lang, og du udfører flere opgaver ved hjælp af VBA, deaktiverer du ofte skærmopdateringen, så du ikke kan se, at skærmen flimrer.

Slå advarselsmeddelelser fra ved hjælp af VBA i Microsoft Excel 2016| Denne kode deaktiverer ikke kun VBA -advarsler, men øger også kodeens tidseffektivitet. Lad os se hvordan.

Populære artikler:

50 Excel -genveje til at øge din produktivitet | Få hurtigere til din opgave. Disse 50 genveje får dig til at arbejde endnu hurtigere i Excel.

VLOOKUP -funktionen i Excel | Dette er en af ​​de mest anvendte og populære funktioner i excel, der bruges til at slå værdi op fra forskellige områder og ark.

COUNTIF i Excel 2016 | Tæl værdier med betingelser ved hjælp af denne fantastiske funktion. Du behøver ikke at filtrere dine data for at tælle bestemte værdier. Countif -funktion er afgørende for at forberede dit dashboard.

Sådan bruges SUMIF -funktionen i Excel | Dette er endnu en vigtig instrumentbrætfunktion. Dette hjælper dig med at opsummere værdier på bestemte betingelser.