VBA ComboBox - Как да създадете и използвате ComboBox във VBA?

Съдържание

Excel VBA ComboBox

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

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

Combo Box е много подобен на падащия списък, който имаме в работен лист на Excel; с комбинираното поле можем да съхраняваме предварително определени стойности, така че потребителите да направят избора от списъка на разположение от комбинираното поле. Combo Box обикновено се използва заедно с потребителски формуляри като част от получаването на информация от потребителите.

Потребителските формуляри са полезни, но наличието на други инструменти в потребителската форма е това, което прави потребителската форма толкова специална. Един от инструментите, които често използваме като инструмент за потребителска форма, е „ComboBox“.

Топ 2 начина за създаване на VBA ComboBox

# 1 - Използване на директно кодиране

Първо ще видим как да използваме Combo Box с работния лист. Отворете някой от работните листове в работната книга на Excel, отидете в раздела за програмисти и под този раздел имаме инструмент, наречен „Вмъкване“. Кликнете върху това и под това имаме две опции Active X Controls & Form Controls в Excel.

От „Active X Controls“ изберете „Combo Box“.

Сега можете да нарисувате този обект на всеки от работните листове.

Щракнете с десния бутон върху комбинираното поле и изберете опцията “Properties”.

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

За това комбинирано поле ще дадем списък с имена на отдели, така че променете свойството на името на комбинираното поле на „DeptComboBox“.

Сега това комбинирано поле ще бъде наречено с името „DeptComboBox“. Трябва да дадем предварително определени имена на отдели, така че тук имам списък с имената на отделите.

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

Щракнете двукратно върху Combobox и ще ви отведе до процедурата за макрос VBA.

Но трябва да видим имената на тези отдели, когато работната книга се отвори, така че щракнете двукратно върху „ThisWorkbook“.

От падащия списък изберете „Работна книга“.

От опциите изберете „Отваряне“.

Сега ще създаде заготовка като долната.

Вътре в този макрос въведете кода по-долу.

Код:

Private Sub Workbook_Open () С работни листове ("Sheet1"). DeptComboBox .AddItem "Finance" .AddItem "Marketing" .AddItem "Merchandising" .AddItem "Operations" .AddItem "Audit" .AddItem "Client Servicing" End with End Sub

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

# 2 - Използване на UserForm

Друг начин за добавяне на стойности към ComboBox е чрез използване на потребителска форма. Първо, дайте име на клетките като „Отдел“.

Отидете в Visual Basic Editor и поставете потребителски формуляр от опцията INSERT.

Сега е създадена новата потребителска форма.

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

Now the combo box is embedded in the user form. In this method, to open the properties option, select the combo box and press the F4 key to open the properties window.

Scroll down the properties tab and choose “Row Source.”

For this “Row Source,” enter the name that we had given to department name cells.

Now this combo box holds the reference of the name “Department.”

Now run the user form by using the run button.

Now we can see a list of department names in the combo box on the user form.

Practically user form is associated with a combo box, text box, and many other tools. We will create a simple data entry user form with a text box & combo box.

Create a user form like the below.

Create two Command Buttons.

Double click on the “SUBMIT” button it will open up below macro.

Inside this macro, add the below code.

Code:

Private Sub CommandButton1_Click () Dim LR As Long LR = Cells (Rows.Count, 1) .End (xlUp) .Row + 1 Cells (LR, 1) .Value = TextBox1.Value Cells (LR, 2) .Value = ComboBox1 . Стойност в края на стойност

Сега щракнете двукратно върху бутона „ОТМЕНЯ“ и добавете кода по-долу.

Сега в работния лист създайте шаблон като по-долу.

Сега стартирайте потребителската форма и тя ще се отвори по този начин.

Въведете името на служителя и изберете името на отдела от комбинирания списък.

Кликнете върху бутона ИЗПРАТИ и вижте магията.

Получихме стойностите, въведени във формата на таблицата, който сме създали.

Неща за запомняне

  • COMBO BOX също има свои собствени свойства.
  • Добавянето на стойности към списъка се извършва по два начина. Единият е начин за кодиране, а другият е препратка към име на диапазон.
  • COMBO BOX обикновено е част от потребителската форма.

Интересни статии...