En kombiboks på et brukerskjema er som en rullegardinmeny, som kan brukes til å velge et alternativ fra de tilgjengelige alternativene. Det er som rullegardinmenyen vi lager ved hjelp av datavalidering i regneark.
I de fleste digitale former må du ha sett minst én kombinasjonsboks. Det kunne ha vært for å velge en stat fra en liste over stater, et kurs fra en kursliste, et land fra en liste over land, etc. I denne artikkelen lærer vi hvordan du legger til en kombiboks i en VBA -brukerform, hvordan å initialisere comboboxen med verdier og hvordan du henter verdi fra combobox.
Legge til en kombinasjonsboks i brukerskjemaet
For å legge til en kombinasjonsboks i et brukerskjema, må du først ha et brukerskjema. Dah !.
Så åpne VBE ved å bruke CTRL+F11. Høyreklikk på arbeidsboken, gå til innsatsen og klikk på Userform. Du har lagt til et brukerskjema. Du kan lese mer om brukerformer i VBA her.
Velg nå kombiboks fra verktøykassen. Det er det fjerde alternativet på øverste rad. Hvis du ikke kan se verktøykassen. Gå til Vis i menyen, klikk på Verktøykasse. Verktøykassen vises.
Jeg har lagt til en etikett med tilstander fordi denne kombinasjonsboksen vil inneholde en liste over noen stater og en send -knapp for å sende inn skjemaet.
Hvordan initialisere en komboboks i brukerform?
Dette er delen der de fleste gjør feil. Noen ganger skriver elevene koden for lasting av verdier i kombinasjonsboksen, og sender deretter inn knapper. Og når de laster brukerskjemaet, viser kombiboksen ingen verdier.
For å laste inn boksen, bør du skrive koden før du laster inn brukerskjemaet. Dette kan gjøres i modulen, c eller knappen der du laster inn skjemaet. Koden for å laste inn kombinasjonsboksen skal komme før kommandoen formname.show.
Laster inn Combobox i UserForm Calling Subroutine
La oss si at jeg vil hardkode noen matrise i kombinationsboksen. Så jeg vil skrive en delprogram som vil laste brukerskjemaet for å fylle ut informasjon. Se koden nedenfor.
Sub load_userform () states = Array ("Delhi", "UP", "UK", "Gujrat", "Kashmir") UserForm1.ComboBox1.List = states UserForm1.Show End Sub
Jeg definerer en matrise "stater" som inneholder noen få navn på indiske stater. Nå bruker jeg brukerformsnavnet for å få tilgang til combobox, ettersom combobox er en del av brukerform.
Mitt brukerforms navn er userform1. Og combobox heter combobox1. Dette er standardnavn. Du kan endre dem fra eiendomsvinduet.
Deretter initialiserer jeg comboboxens listeiendom med tilstander.
Og så viser jeg userform1 ved hjelp av kommandoen show.
Når du kjører koden ovenfor, vil komboboksen ha alle tilstandene oppført.
Initialiserer Combobox ved hjelp av UserForm_Initialize () -hendelse.
En annen metode for å laste inn boksekomponenter på brukerform er å bruke brukerformhendelse Initialize. Denne hendelsen kjøres før brukerskjemaet lastes inn. Alt du vil gjøre før brukerformen lastes inn, kan du gjøre det her. En av disse tingene er å laste inn combobox -elementer.
Så dobbeltklikk på brukerform for å åpne kodeområdet i brukerformobjektet. Velg nå brukerform fra venstre nedtrekksmeny. Velg deretter initialiser fra høyre nedtrekksmeny.
Et tomt undernavn UserForm_Initialize () blir satt inn. Alt som er skrevet i denne suben vil bli utført før brukerskjemaet dukker opp.
Så vi skriver initialiseringskoden for combobox her.
Private Sub UserForm_Initialize () states = Array ("Delhi", "UP", "UK", "Gujrat", "Kashmir") UserForm1.ComboBox1.List = state End Sub
Vær oppmerksom på at vi ikke har kommandoen userform1.show her. Det er fortsatt i den modulen. Denne suben vil bli brukt til å få brukerskjemaet vårt på skjermen.
Sub load_userform () UserForm1.Show End Sub
Så brukerne vil kjøre load_userform sub ved å bruke en kommando, knapp eller et makrotilordnet element. Ettersom kompilatoren kjører koden userform1.show -kommandoen, kjører den umiddelbart hendelsen useforma_initialize (). Etterpå viser den brukerformen til brukerne.
Merknader:
Hvis du skriver koden for å initialisere combobox med verdier i kommando -knappen1 klikk, vil combobox ikke vise noe.
For å initialisere kombokassen med verdier, last den inn i alle hendelser som oppstår før brukeren kommer til kombiboksen for å fylle den.
Henter verdi fra ComboBox
Så vi bruker skjemaer for å få litt informasjon. Og for å bruke denne informasjonen må vi hente dem. For å få noen verdi fra brukerformen combobox bruker vi combobox.value -egenskapen. Vanligvis henter vi verdiene fra skjemaelementer når brukeren har fylt ut skjemaet og sender inn skjemaet ved å sende knappen. Så vi kan bruke commandbutton_click -hendelsen. Så sett inn en kommandoknapp og skriv send på den, hvis du ikke allerede har den. Nå dobbeltklikker du på den, og du vil være inne i commandButton_click -hendelsen.
Lag nå en variabel for å lagre verdien. Lagre det på et ark hvis du vil. Avslutt til slutt skjemaet med Unload Me -kommandoen. Som vist i koden nedenfor.
Private Sub CommandButton1_Click () State = ComboBox1.Value ThisWorkbook.Worksheets ("sheet1"). Range ("A1") = State Unload Me End Sub
Så ja gutta, dette er hvordan du bruker kombiboks i VBA -brukerformer. Jeg håper jeg var forklarende og saklig. Hvis du har spørsmål angående dette emnet eller andre VBA -relaterte spørsmål, kan du stille meg i kommentarfeltet nedenfor.
Komme i gang med Excel VBA UserForms| Jeg vil forklare hvordan du lager et skjema i excel, hvordan du bruker VBA -verktøykasse, hvordan du håndterer brukerinnganger og til slutt hvordan du lagrer brukerinngangene. Vi vil gå gjennom disse emnene ved å bruke ett eksempel og en trinnvis veiledning.
VBA -variabler i Excel| VBA står for Visual Basic for Applications. Det er et programmeringsspråk fra Microsoft. Den brukes med Microsoft Office-applikasjoner som MSExcel, MS-Word og MS-Access, mens VBA-variabler er spesifikke søkeord.
Excel VBA variabelt omfang| På alle programmeringsspråk har vi variabel tilgangsspesifikatorer som definerer hvorfra en definert variabel kan nås. Excel VBA er ingen unntak. VBA har også omfangsspesifikatorer.
ByRef og ByVal -argumenter | Når et argument sendes som et ByRef -argument til en annen sub eller funksjon, sendes referansen til den faktiske variabelen. Eventuelle endringer som gjøres i kopien av variabelen, gjenspeiles i det opprinnelige argumentet.
Slett ark uten bekreftelsesforespørsler ved hjelp av VBA i Microsoft Excel | Siden du sletter ark med VBA, vet du hva du gjør. Du vil fortelle Excel om ikke å vise denne advarselen og slette det jævla arket.
Legg til og lagre ny arbeidsbok ved hjelp av VBA i Microsoft Excel 2016| I denne koden opprettet vi først en referanse til et arbeidsbokobjekt. Og så initialiserte vi det med et nytt arbeidsbokobjekt. Fordelen med denne tilnærmingen er at du enkelt kan utføre operasjoner på denne nye arbeidsboken. Som å lagre, lukke, slette osv
Vis en melding på Excel VBA -statuslinjen| Statuslinjen i excel kan brukes som en kodemonitor. Når VBA -koden din er lang og du gjør flere oppgaver med VBA, deaktiverer du ofte skjermoppdateringen slik at du ikke ser at skjermen flimrer.
Slå av advarselsmeldinger ved hjelp av VBA i Microsoft Excel 2016| Denne koden deaktiverer ikke bare VBA -varsler, men øker også tidens effektivitet av koden. La oss se hvordan.
Populære artikler:
50 Excel -snarveier for å øke produktiviteten | Bli raskere på oppgaven din. Disse 50 snarveiene får deg til å jobbe enda raskere med Excel.
VLOOKUP -funksjonen i Excel | Dette er en av de mest brukte og populære funksjonene til excel som brukes til å slå opp verdi fra forskjellige områder og ark.
COUNTIF i Excel 2016 | Tell verdier med betingelser ved hjelp av denne fantastiske funksjonen. Du trenger ikke å filtrere dataene dine for å telle spesifikke verdier. Countif -funksjonen er avgjørende for å forberede dashbordet.
Slik bruker du SUMIF -funksjonen i Excel | Dette er en annen viktig funksjon på dashbordet. Dette hjelper deg med å oppsummere verdier på spesifikke forhold.