Un cuadro combinado es una lista desplegable desde donde un usuario puede seleccionar un elemento o de relleno en su / su propia elección. Para crear un cuadro combinado en Excel VBA, ejecute los siguientes pasos.

  1. En la ficha Programador, haga clic en Insertar.

  2. En el grupo Controles ActiveX, haga clic en el cuadro combinado.

Create a combo box in Excel VBA

  1. Arrastre un cuadro combinado en la hoja de trabajo.

Drag a Combo Box

Nota: se puede cambiar el nombre de un control haciendo clic derecho sobre el control (Asegúrese de haber seleccionado el modo de diseño) y luego hacer clic en Propiedades. Por ahora, vamos a dejar ComboBox1 como el nombre del cuadro combinado.

Crear un evento abierto libro. Código añadido al libro abierto evento será ejecutado por Excel VBA cuando se abre el libro.

  1. Abra el Editor de Visual Basic.

  2. Haga doble clic en este libro en el Explorador de proyectos.

  3. Elija libro de trabajo de la lista desplegable-izquierda y seleccione Abrir en la lista desplegable-derecha.

Workbook Open Event in Excel VBA

  1. Para añadir elementos al cuadro combinado, agregue las siguientes líneas de código en el libro abierto Evento:

With Sheet1.ComboBox1

.AddItem "Paris"

.AddItem "New York"

.AddItem "London"

End With

Nota: El uso Hoja2 si su cuadro combinado se encuentra en la segunda hoja, Sheet3 si su cuadro combinado se encuentra en la tercera hoja de cálculo, etc. Si utiliza estas líneas de código fuera del evento de libro abierto, es posible que desee añadir las siguientes líneas de código antes de que estas líneas de código. La primera línea de código despeja el cuadro combinado. De esta manera sus artículos no se añadirán varias veces si se ejecuta el código más de una vez. La segunda línea de código borra su propia elección.

ComboBox1.Clear

ComboBox1.Value = ""
  1. Para vincular esta lista desplegable en una celda, haga clic derecho en el cuadro combinado (hacer se selecciona el modo de diseño seguro) y haga clic en Propiedades. Rellene D2 para LinkedCell.

LinkedCell

Nota: puede ver la propiedad ListFillRange para llenar un cuadro combinado con un rango de celdas.

  1. Guardar, cerrar y volver a abrir el archivo de Excel.

Resultado:

Combo Box

Aunque en algunas situaciones puede ser útil para colocar directamente un cuadro combinado en la hoja de cálculo, un cuadro combinado es particularmente útil cuando se coloca en un formulario de usuario.