VBA ComboBox | Com es pot crear i utilitzar ComboBox a VBA?

ComboBox Excel VBA

ComboBox és la característica de formulari d'usuari de VBA, són diferents dels quadres de text ja que els quadres de text s’utilitzen per contenir només text i permetem a l’usuari introduir qualsevol tipus de dades, però mitjançant l’ús de quadres combinats limitem l’usuari pel tipus de respostes que desitgem, de manera que les dades són ordenades, és similar a la validació de dades de la llista a Excel.

ComboBox es pot comparar amb una llista desplegable a Excel, en fulls de càlcul hem utilitzat la validació de dades per proporcionar un menú desplegable, però a VBA hi ha una funció de formulari d’usuari on s’utilitza per proporcionar un menú desplegable en qualsevol formulari d’usuari, però si volem utilitzar un quadre combinat a Excel també hi podem accedir des de la secció de desenvolupadors des d’allà podem crear quadres combinats per a cel·les individuals o múltiples.

El quadre combinat és molt similar a la llista desplegable que tenim en un full de treball Excel, amb el quadre combinat podem emmagatzemar valors predeterminats, de manera que els usuaris facin la selecció de la llista disponible al quadre combinat. Combo Box s'utilitza generalment juntament amb els formularis d'usuari com a part de l'obtenció de l'entrada dels usuaris.

Els formularis d'usuari són útils, però tenir altres eines al formulari d'usuari és el que fa que el formulari d'usuari sigui tan especial. Una de les eines que sovint fem servir com a eina per al formulari d'usuari és "ComboBox".

2 maneres principals de crear un ComboBox VBA

Podeu descarregar aquesta plantilla Excel del quadre combinat VBA aquí: plantilla Excel del quadre combinat VBA

# 1 - Ús de codificació directa

En primer lloc, veurem com utilitzar Combo Box amb el full de càlcul. Obriu qualsevol dels fulls de treball del llibre Excel, aneu a la pestanya Desenvolupador i sota aquesta pestanya tenim una eina anomenada "Insereix". Feu clic a sobre i sota d’això tenim dues opcions Active X Controls & Form Controls a excel.

A "Controls X actius", trieu "Caixa combinada".

Ara podeu dibuixar aquest objecte en qualsevol dels fulls de treball.

Feu clic amb el botó dret al quadre combinat i trieu l'opció "Propietats".

Quan trieu propietats, s'obrirà una enorme llista de propietats d'un quadre combinat.

Per a aquest quadre combinat, donarem una llista de noms de departaments, de manera que canvieu la propietat del nom del quadre combinat a"DeptComboBox".

Ara aquest quadre combinat es referirà pel nom "DeptComboBox". Hem de donar noms de departaments predeterminats, de manera que aquí tinc una llista de noms de departaments.

Ara hem d’afegir aquests valors a la llista de quadres combinats, ho podem fer de dues maneres, mitjançant la codificació o mitjançant el gestor de noms.

Feu doble clic a Combobox i us portarà al procediment de macro VBA.

Però hem de veure aquests noms de departament quan s'obre el llibre, així que feu doble clic a "Aquest llibre de treball".

A la llista desplegable, trieu "Llibre de treball".

Entre les opcions, trieu "Obre".

Ara es crearà un espai en blanc com el següent.

Dins d'aquesta macro introduïu el codi següent.

Codi:

 Private Sub Workbook_Open () With Worksheets ("Sheet1"). DeptComboBox .AddItem "Finance" .AddItem "Marketing" .AddItem "Merchandising" .AddItem "Operations" .AddItem "Audit" .AddItem "Client Service" End With End Sub 

D’acord, ara deseu i tanqueu el llibre, quan torneu a obrir el llibre, podríem veure els noms dels departaments.

# 2: utilitzant UserForm

Una altra manera d’afegir valors a la ComboBox és mitjançant el formulari d’usuari. Primer, doneu un nom a les cel·les com a "Departament".

Aneu a Visual Basic Editor i inseriu el formulari d’usuari des de l’opció INSERTAR.

Ara es crea el nou formulari d'usuari.

Al costat del formulari d'usuari, podem veure "Caixa d'eines" des d'aquesta caixa d'eines i podem inserir "Caixa combinada".

Ara el quadre combinat està incrustat al formulari d'usuari, en aquest mètode per obrir l'opció de propietats, seleccioneu el quadre combinat i premeu la tecla F4 per obrir la finestra de propietats.

Desplaceu-vos cap avall a la pestanya Propietats i trieu "Font de fila".

Per a aquesta "Font de fila", introduïu el nom que havíem donat a les cel·les de nom del departament.

Ara aquest quadre combinat conté la referència del nom "Departament".

Ara executeu el formulari d'usuari mitjançant el botó d'execució.

Ara podem veure una llista de noms de departaments al quadre combinat del formulari d’usuari.

Pràcticament formulari d'usuari associat a un quadre combinat, quadre de text i moltes altres eines. Crearem un senzill formulari d’usuari d’entrada de dades amb un quadre de text i un quadre combinat.

Creeu un formulari d'usuari com el següent.

Creeu dos botons d’ordres.

Feu doble clic al botó "ENVIAR" que s'obrirà a sota de la macro.

Dins d'aquesta macro afegiu el codi següent.

Codi:

 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 .Value End Sub 

Ara feu doble clic al botó "CANCEL·LA" i afegiu el codi següent.

Ara, al full de treball, creeu una plantilla com la següent.

Ara executeu el formulari d'usuari i s'obrirà així.

Introduïu el nom de l’empleat i trieu el nom del departament a la llista combinada.

Feu clic al botó ENVIAR i veure la màgia.

Hem obtingut els valors introduïts en el format de taula que hem creat.

Coses que cal recordar

  • COMBO BOX també té propietats pròpies.
  • Afegir valors a la llista es presenta de dues maneres: una és una forma de codificació i una altra és la referència del nom de l’interval.
  • COMBO BOX sol formar part del formulari d’usuari.