Kaip naudoti „ComboBox“ „VBA Excel Userform“?

Turinys:

Anonim

Naudotojo formos kombinacija yra tarsi išskleidžiamasis meniu, kurį naudojant galima pasirinkti parinktį iš galimų parinkčių. Tai tarsi išskleidžiamasis meniu, kurį sukuriame naudodami duomenų patvirtinimą darbalapiuose.

Daugelyje skaitmeninių formų turite būti matę bent vieną kombinuotą dėžutę. Tai galėjo būti pasirinkta valstybė iš valstijų sąrašo, kursas iš kursų sąrašo, šalis iš šalių sąrašo ir tt Šiame straipsnyje mes sužinosime, kaip pridėti kombinuotą dėžutę VBA vartotojo formoje, kaip inicijuoti kombinuotą dėžutę su reikšmėmis ir kaip gauti vertę iš kombinuotos dėžutės.

„ComboBox“ pridėjimas prie vartotojo formos

Kad prie vartotojo formos pridėtumėte langelį, pirmiausia turite turėti vartotojo formą. Dah !.

Taigi atidarykite VBE naudodami CTRL+F11. Dešiniuoju pelės mygtuku spustelėkite darbaknygę, eikite įterpti ir spustelėkite Userform. Pridėjote vartotojo formą. Daugiau apie vartotojo formas VBA galite perskaityti čia.

Dabar iš įrankių rinkinio pasirinkite kombinuotą dėžutę. Tai ketvirtas variantas viršutinėje eilutėje. Jei nematote įrankių rinkinio. Meniu eikite į rodinį, spustelėkite įrankių dėžę. Pasirodys įrankių rinkinys.

Pridėjau būsenų etiketę, nes šioje sudėtinėje dėžutėje bus kai kurių valstijų sąrašas ir mygtukas „Pateikti“ formai pateikti.

Kaip inicijuoti kombinaciją naudotojo formoje?

Tai yra ta dalis, kurioje dauguma žmonių daro klaidų. Kartais besimokantieji įrašo verčių įkėlimo kodą į kombinuotą dėžutę, tada pateikia mygtukus. Kai jie įkelia naudotojo formą, kombinuota dėžutė nerodo jokių reikšmių.

Norėdami įkelti kombinaciją, prieš įkeldami vartotojo formą, turite parašyti kodą. Tai galima padaryti naudojant modulį, c arba mygtuką, kuriame įkeliate formą. Kodas įkelti kombinuotųjų dėžių sąrašą turėtų būti prieš komandą formname.show.

„Combobox“ įkėlimas į „UserForm“ iškvietimo paprogramę

Tarkime, aš noriu koduoti tam tikrą masyvo būsenos jungčių dėžutę. Taigi aš parašysiu paprogramę, kuri įkelia vartotojo formą informacijai užpildyti. Žiūrėkite žemiau esantį kodą.

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

Aš apibrėžiu masyvų „būsenas“, kuriose yra keli Indijos valstijų pavadinimai. Dabar naudoju vartotojo formos pavadinimą, norėdamas pasiekti „combobox“, nes „combobox“ yra „userform“ dalis.

Mano userform vardas yra userform1. „Combobox“ pavadinimas yra combobox1. Tai yra numatytieji pavadinimai. Juos galite pakeisti iš nuosavybės lango.

Toliau inicijuoju „Combobox“ sąrašo ypatybę su būsenomis.

Ir tada aš parodau userform1 naudodamas komandą show.

Kai paleisite aukščiau pateiktą kodą, kombinuota dėžutė turės visas išvardytas būsenas.

„Combobox“ inicijavimas naudojant „UserForm_Initialize“ () įvykį.

Kitas būdas įkelti „kombobox“ komponentus į „userform“ yra „userform event Initialize“ naudojimas. Šis įvykis vykdomas prieš įkeliant vartotojo formą. Viskas, ką norite padaryti prieš įkeliant vartotojo formą, galite tai padaryti čia. Vienas iš tokių dalykų yra kombinuotų dėžių elementų įkėlimas.

Taigi dukart spustelėkite userform, kad atidarytumėte kodavimo sritį userform objekte. Dabar kairiajame išskleidžiamajame meniu pasirinkite userform. Tada dešiniajame išskleidžiamajame meniu pasirinkite inicijuoti.

Bus įterptas tuščias antrinis pavadinimas UserForm_Initialize (). Viskas, kas parašyta šiame poskyryje, bus vykdoma prieš pasirodant vartotojo formai.

Taigi čia rašome „Combobox“ inicijavimo kodą.

Private Sub UserForm_Initialize () States = Array ("Delhi", "UP", "UK", "Gujrat", "Kašmyras") UserForm1.ComboBox1.List = nurodo pabaigos antraštę 

Atminkite, kad čia neturime komandos userform1.show. Jis vis dar yra tame modulyje. Šis antrinis elementas bus naudojamas mūsų vartotojo formai gauti ekrane.

Subload load_userform () UserForm1.Rodyti pabaigos sub 

Taigi vartotojai paleis „load_userform sub“ naudodami tam tikrą komandą, mygtuką ar makrokomandą. Kai kompiliatorius vykdo kodą userform1.show, jis iškart paleidžia įvykį useforma_initialize (). Vėliau jis vartotojams parodo vartotojo formą.

Pastabos:

Jei parašysite kodą, kad inicijuotumėte „Combobox“ su reikšmėmis, esančiomis komandų mygtuko 1 paspaudime, „combobox“ nieko nerodys.

Jei norite inicijuoti kombinuotą dėžutę su reikšmėmis, įkelkite ją bet kuriuo atveju, kuris įvyksta prieš vartotojui pasiekiant kombinaciją.

Vertės gavimas iš „ComboBox“

Taigi tam tikrai informacijai gauti naudojame formas. Ir norėdami panaudoti šią informaciją, turime juos gauti. Norėdami gauti bet kokią vertę iš userform combobox, naudojame ypatybę combobox.value. Paprastai mes gauname reikšmes iš formos elementų, kai vartotojas užpildo formą ir pateikia formą naudodami mygtuką Pateikti. Taigi galime naudoti įvykį commandbutton_click. Taigi, jei dar neturite, įterpkite komandos mygtuką ir parašykite ant jo pateikti. Dabar dukart spustelėkite jį ir būsite įvykio commandButton_click viduje.

Dabar sukurkite kintamąjį, kad išsaugotumėte vertę. Jei norite, išsaugokite jį lape. Galiausiai išeikite iš formos naudodami komandą „Iškrauti mane“. Kaip parodyta žemiau esančiame kode.

Private Sub CommandButton1_Click () State = ComboBox1.Value ThisWorkbook.Worksheets ("sheet1"). Diapazonas ("A1") = būsena Unload Me End Sub 

Taigi taip, vaikinai, taip jūs naudojate „combobox“ VBA vartotojo formose. Tikiuosi, kad buvau aiškinantis ir tikslus. Jei turite klausimų šia tema ar kitų su VBA susijusių klausimų, paklauskite manęs žemiau esančiame komentarų skyriuje.

Darbo su „Excel VBA UserForms“ pradžia| Aš paaiškinsiu, kaip sukurti formą „Excel“, kaip naudoti VBA įrankių rinkinį, kaip tvarkyti vartotojo įvestis ir galiausiai, kaip išsaugoti vartotojo įvestis. Mes pereisime šias temas naudodami vieną pavyzdį ir žingsnis po žingsnio vadovą.

VBA kintamieji „Excel“| VBA reiškia „Visual Basic for Applications“. Tai programavimo kalba iš „Microsoft“. Jis naudojamas su „Microsoft Office“ programomis, tokiomis kaip „MSExcel“, „MS-Word“ ir „MS-Access“, tuo tarpu VBA kintamieji yra konkretūs raktiniai žodžiai.

„Excel VBA“ kintamoji apimtis| Visose programavimo kalbose mes turime kintamosios prieigos specifikatorius, kurie apibrėžia, iš kur galima pasiekti apibrėžtą kintamąjį. „Excel VBA“ nėra išimtis. VBA taip pat turi apimties specifikacijas.

ByRef ir ByVal argumentai | Kai argumentas perduodamas kaip „ByRef“ argumentas kitam padaliniui ar funkcijai, siunčiama tikrojo kintamojo nuoroda. Bet kokie kintamojo kopijos pakeitimai atsispindės pradiniame argumente.

Ištrinkite lapus be patvirtinimo raginimų naudodami „Microsoft Excel“ VBA | Kadangi trinate lapus naudodami VBA, žinote, ką darote. Norite pasakyti „Excel“ nerodyti šio įspėjimo ir ištrinti prakeiktą lapą.

Pridėkite ir išsaugokite naują darbaknygę naudodami „Microsoft Excel 2016“ VBA| Šiame kode pirmiausia sukūrėme nuorodą į darbaknygės objektą. Ir tada mes jį inicijavome naudodami naują darbo knygos objektą. Šio metodo pranašumas yra tas, kad galite lengvai atlikti operacijas su šia nauja darbaknyge. Kaip išsaugoti, uždaryti, ištrinti ir pan

Rodyti pranešimą „Excel“ VBA būsenos juostoje| „Excel“ būsenos juosta gali būti naudojama kaip kodo monitorius. Kai jūsų VBA kodas yra ilgas ir atliekate kelias užduotis naudodami VBA, dažnai išjungiate ekrano atnaujinimą, kad nematytumėte to ekrano mirgėjimo.

Išjunkite įspėjamuosius pranešimus naudodami VBA programoje „Microsoft Excel 2016“| Šis kodas ne tik išjungia VBA įspėjimus, bet ir padidina kodo laiko efektyvumą. Pažiūrėkime, kaip.

Populiarūs straipsniai:

50 „Excel“ nuorodų, skirtų produktyvumui padidinti | Greičiau atlikite savo užduotį. Šie 50 sparčiųjų klavišų leis dar greičiau dirbti naudojant „Excel“.

„VLOOKUP“ funkcija „Excel“ | Tai yra viena iš dažniausiai naudojamų ir populiariausių „Excel“ funkcijų, naudojama norint ieškoti vertės iš įvairių diapazonų ir lapų.

COUNTIF „Excel 2016“ | Naudodami šią nuostabią funkciją, suskaičiuokite reikšmes su sąlygomis. Norint suskaičiuoti konkrečias vertes, nereikia filtruoti duomenų. Skaitiklio funkcija yra būtina norint paruošti prietaisų skydelį.

Kaip naudotis „SUMIF“ funkcija „Excel“ | Tai dar viena esminė prietaisų skydelio funkcija. Tai padeda apibendrinti vertes konkrečiomis sąlygomis.