Как да използвам ComboBox във VBA Excel Userform?

Съдържание:

Anonim

Комбинирано поле в потребителска форма е като падащо меню, което може да се използва за избор на опция от наличните опции. Това е като падащото меню, което създаваме с валидиране на данни в работни листове.

В повечето цифрови форми трябва да сте виждали поне едно комбинирано поле. Може да е било за избор на държава от списък на държави, курс от списък с курсове, държава от списък със държави и т.н. В тази статия ще научим как да добавим комбинирано поле в потребителска форма на VBA, как за инициализиране на комбинираната кутия със стойности и как да се извлече стойност от комбинирана кутия.

Добавяне на ComboBox към потребителски формуляр

За да добавите комбинирано поле към потребителска форма, първо трябва да имате потребителска форма. Да !.

Затова отворете VBE с помощта на CTRL+F11. Щракнете с десния бутон върху работната книга, отидете да вмъкнете и щракнете върху Userform. Имате добавена потребителска форма. Можете да прочетете повече за потребителските форми във VBA тук.

Сега от кутията с инструменти изберете комбинираната кутия. Това е четвъртата опция в горния ред. Ако не виждате инструментариума. Отидете на Изглед в менюто, щракнете върху Toolbox. Кутията с инструменти ще се появи.

Добавих етикет на състояния, защото това поле за съхранение ще съдържа списък с някои състояния и бутон за изпращане, за да изпратите формуляра.

Как да инициализираме комбинирано поле в потребителска форма?

Това е частта, в която повечето хора правят грешки. Понякога учащите се записват кода за зареждане на стойности в комбинирано поле, след което изпращат бутони. И когато зареждат потребителската форма, комбинираната кутия не показва никакви стойности.

За да заредите комбинираната кутия, трябва да напишете кода, преди да заредите потребителската форма. Това може да стане в модула, c или бутона, където зареждате формуляра. Кодът за зареждане на списъка с комбинирани полета трябва да е преди командата formname.show.

Зареждане на Combobox в подпрограма за извикване на UserForm

Да речем, че искам да кодирам твърд някакъв масив в комбинираното поле на състоянието. Затова ще напиша подпрограма, която ще зареди потребителската форма за попълване на информация. Вижте кода по -долу.

Sub load_userform () states = Array ("Delhi", "UP", "UK", "Gujrat", "Kashmir") UserForm1.ComboBox1.List = състояния UserForm1.Show End Sub 

Определям масив "държави", който съдържа няколко имена на индийски щати. Сега използвам потребителското име за достъп до combobox, тъй като combobox е част от userform.

Името на потребителската ми форма е userform1. Името на combobox е combobox1. Това са имена по подразбиране. Можете да ги промените от прозореца на свойствата.

След това инициализирам свойството list на combobox със състояния.

И след това показвам userform1 с помощта на командата show.

Когато стартирате горния код, комбинираното поле ще има всички изброени състояния.

Инициализиране на Combobox с помощта на събитие UserForm_Initialize ().

Друг метод за зареждане на комбобокс компоненти в потребителска форма е използването на потребителска форма събитие Initialize. Това събитие се изпълнява преди зареждането на потребителската форма. Всичко, което искате да направите, преди потребителската форма да се зареди, можете да го направите тук. Едно от тези неща е зареждането на комбинирани елементи.

Така че щракнете двукратно върху userform, за да отворите кодиращата област в обекта userform. Сега от лявото падащо меню изберете потребителска форма. След това от дясно падащо меню изберете инициализиране.

Ще бъде вмъкнато празно подзаглавие UserForm_Initialize (). Всичко, написано в тази подпозиция, ще бъде изпълнено преди да се появи потребителската форма.

Така че ние пишем инициализационния код за combobox тук.

Private Sub UserForm_Initialize () states = Array ("Delhi", "UP", "UK", "Gujrat", "Kashmir") UserForm1.ComboBox1.List = състояния End Sub 

Обърнете внимание, че тук нямаме команда userform1.show. Все още е в този модул. Този подводник ще бъде използван за извеждането на нашата потребителска форма на екрана.

Sub load_userform () UserForm 1. Show End Sub 

Така че потребителите ще изпълняват load_userform sub, използвайки определена команда, бутон или макрос. Тъй като компилаторът изпълнява командата код userform1.show, той веднага изпълнява събитието useforma_initialize (). След това показва потребителската форма на потребителите.

Бележки:

Ако напишете кода за инициализиране на комбинираната кутия със стойности в командния бутон 1 щракнете, комбинираната кутия няма да покаже нищо.

За да инициализирате комбинираната кутия със стойности, заредете я във всеки случай, който се случи, преди потребителят да достигне комбинираната кутия за попълване.

Извличане на стойност от ComboBox

Затова използваме формуляри, за да получим някаква информация. И за да използваме тази информация, трябва да ги извлечем. За да получим каквато и да е стойност от combobox на userform, използваме свойството combobox.value. Обикновено извличаме стойностите от елементите на формуляра, след като потребителят попълни формуляра и го изпрати с помощта на бутона за изпращане. Така че можем да използваме събитието commandbutton_click. Така че поставете команден бутон и напишете submit върху него, ако вече нямате такъв. Сега щракнете двукратно върху него и ще бъдете в събитието commandButton_click.

Сега създайте променлива за съхраняване на стойността. Запазете го на лист, ако желаете. Накрая излезте от формуляра, като използвате командата Unload Me. Както е показано в кода по -долу.

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

Така че да, момчета, това е начинът, по който използвате combobox в потребителските форми на VBA. Надявам се, че бях обяснителен и в точката. Ако имате въпроси относно тази тема или други въпроси, свързани с VBA, попитайте ме в секцията за коментари по -долу.

Първи стъпки с потребителските формуляри на Excel VBA| Ще обясня как да създам формуляр в excel, как да използвам VBA инструментариума, как да боравя с потребителските входни данни и накрая как да съхранявам потребителските входни данни. Ще преминем през тези теми, като използваме един пример и стъпка по стъпка ръководство.

VBA променливи в Excel| VBA означава Visual Basic за приложения. Това е език за програмиране от Microsoft. Използва се с приложения на Microsoft Office като MSExcel, MS-Word и MS-Access, докато VBA променливите са специфични ключови думи.

Променлив обхват на Excel VBA| Във всички езици за програмиране имаме променливи спецификатори за достъп, които определят от къде може да се получи достъп до определена променлива. Excel VBA не е изключение. VBA също има спецификатори на обхвата.

Аргументи на ByRef и ByVal | Когато един аргумент се предава като аргумент ByRef на различна под -функция или функция, се изпраща препратката към действителната променлива. Всички промени, направени в копието на променливата, ще се отразят в първоначалния аргумент.

Изтриване на листове без подкани за потвърждение с помощта на VBA в Microsoft Excel | Тъй като изтривате листове с помощта на VBA, знаете какво правите. Бихте искали да кажете на Excel да не показва това предупреждение и да изтрие проклетия лист.

Добавяне и запазване на нова работна книга с помощта на VBA в Microsoft Excel 2016| В този код първо създадохме препратка към обект на работна книга. И тогава го инициализирахме с нов обект на работна книга. Ползата от този подход е, че можете лесно да извършвате операции с тази нова работна книга. Като запазване, затваряне, изтриване и т.н.

Показване на съобщение в лентата за състоянието на Excel VBA| Лентата на състоянието в Excel може да се използва като монитор на кодове. Когато вашият VBA код е дълъг и изпълнявате няколко задачи с помощта на VBA, често деактивирате актуализацията на екрана, така че да не виждате този екран да трепти.

Изключете предупредителните съобщения с помощта на VBA в Microsoft Excel 2016| Този код не само деактивира сигналите за VBA, но също така увеличава ефективността на кода във времето. Да видим как.

Популярни статии:

50 преки пътища в Excel за повишаване на вашата производителност | Бъдете по -бързи в задачата си. Тези 50 преки пътища ще ви накарат да работите още по -бързо в Excel.

Функцията VLOOKUP в Excel | Това е една от най -използваните и популярни функции на excel, която се използва за търсене на стойност от различни диапазони и листове.

COUNTIF в Excel 2016 | Пребройте стойностите с условия, използвайки тази невероятна функция. Не е необходимо да филтрирате данните си, за да броите конкретни стойности. Функцията Countif е от съществено значение за подготовката на вашето табло.

Как да използвате функцията SUMIF в Excel | Това е друга основна функция на таблото. Това ви помага да обобщите стойностите при конкретни условия.