Un cuadro de lista es una lista de donde un usuario puede seleccionar un elemento. Para crear un cuadro de lista 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 Cuadro de lista.

Create a list box in Excel VBA

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

Drag a List 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 ListBox1 como el nombre de la lista.

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 de lista, agregue las siguientes líneas de código en el libro abierto Evento:

With Sheet1.ListBox1

.AddItem "Paris"

.AddItem "New York"

.AddItem "London"

End With

Nota: El uso Hoja2 si su cuadro de lista se encuentra en la segunda hoja, Sheet3 si su cuadro de lista 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 la siguiente línea de código antes de que estas líneas de código. Esta línea de código despeja el cuadro de lista. De esta manera sus artículos no se añadirán varias veces si se ejecuta el código más de una vez.

ListBox1.Clear
  1. Para vincular este cuadro de lista a una celda, haga clic derecho en el cuadro de lista (haga se selecciona el modo de diseño seguro) y haga clic en Propiedades. Rellene D3 para LinkedCell.

LinkedCell

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

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

Resultado:

List Box

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