Cómo Crear Multi Select ListBox en Excel (Con Pasos Fáciles)

  • Compartir Este
Hugh West

Cuando trabajamos con un conjunto de datos de gran tamaño, a menudo resulta difícil extraer de él algún valor selectivo. Además, no se pueden elegir más de varios datos simultáneamente. En este caso, ListBox es una solución muy útil en Excel Pero el proceso de creación de este ListBox es un poco complicado. Por lo tanto, en este artículo, aprenderemos a crear una selección múltiple ListBox en excel con unos sencillos pasos.

Descargar el cuaderno de prácticas

Obtén el archivo de ejemplo para practicar.

Multi Select ListBox.xlsm

Procedimientos Paso a Paso para Crear ListBox de Selección Múltiple en Excel

Para facilitar el proceso, lo hemos dividido en 8 para una mejor comprensión. Así que, sin más demora, vamos a saltar en los pasos siguientes para ver cómo podemos crear un multi-select ListBox en Excel.

Paso 1: Crear una tabla Excel a partir de un conjunto de datos

Inicialmente, debemos preparar un conjunto de datos de muestra y convertirlo en una tabla. Para ello, siga los pasos que se indican a continuación.

  • En primer lugar, cree un conjunto de datos con la información de 10 Nombres de ciudades y sus Población total de la EE.UU. hasta 1 de julio en el Rango de células B5:C14 .

  • Ahora, haga clic en cualquier celda del conjunto de datos y seleccione Cuadro del Inserte ficha.

  • A continuación, verá el Crear tabla que selecciona automáticamente el rango de celdas para crear una tabla.
  • En esta ventana, marque la casilla Mi tabla tiene cabeceras y pulse OK .

  • Como resultado, verá que el conjunto de datos se convierte en una tabla.

  • Junto con ella, puede encontrar la tabla en el Nombre de la tabla en la casilla Diseño de la mesa tab

  • Puede cambiar el nombre de la tabla según sus preferencias.

Más información: Cómo crear una lista desplegable dependiente en Excel

Paso 2: Nombrar la lista de conjuntos de datos desde el Gestor de nombres

Ahora, vamos a nombrar cada categoría de rango de celdas de la tabla. Para ello, siga los pasos.

  • En primer lugar, seleccione cualquier celda de Columna B en la tabla.
  • A continuación, vaya al Fórmulas y seleccione Definir nombre .

  • A continuación, verá el Nuevo nombre cuadro de diálogo.
  • En este cuadro de diálogo, introduzca el nombre que desee para la cabecera de columna seleccionada en el campo Nombre caja.

  • A continuación, haga clic en el botón Se refiere a en la misma ventana.
  • A continuación, coloca el cursor sobre la cabecera y aparecerá una flecha negra.
  • A continuación, pulse el botón izquierdo del ratón para seleccionar la opción Rango de celdas B5:B14 .

  • Como resultado, verá la lista de nombres junto con el nombre de la tabla en el campo Se refiere a y pulse OK .

  • Siga el mismo procedimiento, para el Rango celular C5:C14 también.
  • Por último, verá los nombres en el Nombre en la esquina superior izquierda del libro de trabajo.

Paso 3: Crear lista desplegable con validación de datos

En esta fase, crearemos una lista desplegable a partir de los rangos nombrados con validación de datos. Esta es la parte esencial de la creación de un archivo ListBox Lo crearemos en otra hoja de cálculo del libro de trabajo. Pero también puede hacerlo en la misma hoja de cálculo. Veamos el proceso a continuación.

  • Al principio, seleccione algunas celdas de la tabla en las que desee aplicar Validación de datos .
  • A continuación, vaya al Datos y seleccione Validación de datos en el Herramientas de datos sección.

  • A continuación, en el Ajustes seleccione Lista en el Permitir caja.

  • Además, mark comprobó el Ignorar el espacio en blanco y Desplegable en celda cajas.

  • A continuación, haga clic en el botón Fuente en esta ventana y pulse F3 en el teclado.
  • Como resultado, verá el Nombre de la pasta con la lista de nombres.
  • Aquí, elija Nombres de ciudades de la lista y pulse OK .

  • A continuación, aparecerá el nombre de la primera lista en el cuadro de origen.

  • Por último, pulse OK y aplique el mismo proceso para la segunda lista de nombres.
  • Por último, verá que Validación de datos se activa en las celdas seleccionadas.

Paso 4: Insertar código VBA en la hoja de cálculo validada

Ahora viene la parte crucial de insertar VBA para crear un ListBox A continuación se describe el proceso.

  • En primer lugar, haga clic con el botón derecho del ratón en la hoja de cálculo validada y seleccione Ver Código del Menú contextual .

  • A continuación, inserte este código en la página.
 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim rngDV As Range Dim oldVal As String Dim newVal As String Dim strList As String On Error Resume Next Application.EnableEvents = False Set rngDV = Cells.SpecialCells(xlCellTypeAllValidation) On Error GoTo exitHandler If rngDV Is Nothing Then GoTo exitHandler If Not Intersect(Target, rngDV) Is Nothing Then If Target.Validation.Type = 3Then strList = Target.Validation.Formula1 strList = Right(strList, Len(strList) - 1) strDVList = strList frmDVList.Show End If End If exitHandler: Application.EnableEvents = True End Sub 

  • A continuación, vaya a la página Inserte y seleccione Módulo .
  • En este punto, el nombre del libro de trabajo debe estar seleccionado en el campo Objeto del proyecto ventana.

  • A continuación, renombre el módulo como modConfiguración e inserta este código.
 Opción Explícita Global strDVList As String 

Gracias a Contextos por proporcionar los códigos.

Paso 5: Crear UserForm con Listbox & Botones

En esta fase, crearemos un Formulario de usuario para el libro de trabajo junto con un ListBox y algunos Botones de mando Para ello, siga el proceso que se indica a continuación.

  • En primer lugar, seleccione el libro de trabajo en la ventana Proyecto-VBAProyecto en la ventana Visual Basic editor.

  • A continuación, vaya al Inserte y seleccione Formulario de usuario .

  • Como resultado, obtendrá el Formulario de usuario interfaz así.

  • Junto con esto, también obtendrá el Caja de herramientas ventana.
  • Desde aquí, arrastre ListBox a la Formulario de usuario .

  • Entonces, el ListBox Puede ajustar el tamaño arrastrando los bordes de la caja.

  • A continuación, arrastre el CommanButton dos veces a Formulario de usuario para crear 2 botones de operación.

  • Por último, el resultado final es el siguiente.

Paso 6: Cambiar la configuración de las propiedades

En esta etapa, realizaremos algunos cambios en las propiedades de cada componente del ListBox .

  • Al principio, pulse F4 en el Visual Basic para abrir el Ventana de propiedades .
  • A continuación, seleccione la opción Formulario de usuario y cambiar el Nombre y Leyenda de esta manera.

  • A continuación, seleccione ListBox y cambiar el Nombre según sus preferencias.

  • Además, cambie el tipo de ListStyle , MultiSelect y Efecto especial como en la imagen de abajo.

  • Ahora, elige el primer botón de comando y realiza los siguientes cambios en las propiedades.

  • Además, edite también las propiedades del segundo botón de comando.

Paso 7: Aplicar código VBA a UserForm

En esta fase, aplicaremos VBA códigos a cada uno de los componentes del Formulario de usuario Veamos cómo funciona.

  • En primer lugar, seleccione Formulario de usuario e ir a la Ver para seleccionar Código .

  • A continuación, inserte este código en la página en blanco. Se ejecutará automáticamente cuando el Formulario de usuario se abre.
 Private Sub UserForm_Initialize() Me.lstDV.RowSource = strDVList End Sub 

  • Después de esto, vuelva a la Formulario de usuario pulsando en Objeto en el Ver ficha.

  • Ahora, siga el proceso para insertar este código para el OK botón.
 Private Sub cmdOK_Click() Dim strSelItems As String Dim lCountList As Long Dim strSep As String Dim strAdd As String Dim bDup As Boolean On Error Resume Next strSep = ", " With Me.lstDV For lCountList = 0 To .ListCount - 1 If .Selected(lCountList) Then strAdd = .List(lCountList) Else strAdd = "" End If strSelItems = "" Then strSelItems = strAdd Else If strAdd "" Then strSelItems = strSelItems_ & strSep & strAdd End If End If Next lCountList End With With ActiveCell If .Value "" Then .Value = ActiveCell.Value _ & strSep & strSelItems Else .Value = strSelItems End If End With Unload Me End Sub 

  • Junto con esto, escriba este código para el Cerrar mediante el mismo proceso.
 Private Sub cmdClose_Click() Me descarga End Sub 

  • Por último, pulse Ctrl + S para guardarlo y cerrar la ventana.

Gracias a Contextos por ayudar con los códigos.

Paso 8: Selección múltiple de ListBox

Por último, hemos creado con éxito un ListBox Para comprobar si el código funciona o no, siga estos pasos.

  • En primer lugar, seleccione Célula B5 donde aplicamos Validación de datos .
  • Justo después de eso, un ListBox aparecerá ordenando Seleccionar un elemento de la lista .
  • En esta ventana, elija más de un nombre de la lista.

  • A continuación, pulse OK .
  • Por último, ha realizado con éxito la selección múltiple de la lista ListBox y cada nombre está separado por un Coma ( , ).

Cosas para recordar

  • Rangos de nombres no creará un Validación de datos si se introducen como referencia de celda o con delimitadores.
  • En Variable global se aplica tanto para Formulario de usuario y Hoja de cálculo VBA Cualquier nombre de celda activo pasa inicialmente el código strDVList a un rango temporal y luego se utiliza como RowSource para la ListBox cuando un usuario abre el Formulario de usuario .
  • Puede combinar varios rangos en un solo nombre para facilitar la selección.

Conclusión

Eso es todo por hoy, espero que estos largos pero sencillos pasos sobre cómo crear ListBox de selección múltiple en excel le han facilitado un poco el tema. Háganos saber su opinión en el cuadro de comentarios. Follow ExcelWIKI para más artículos como éste.

Hugh West es un capacitador y analista de Excel altamente experimentado con más de 10 años de experiencia en la industria. Tiene una Licenciatura en Contabilidad y Finanzas y una Maestría en Administración de Empresas. Hugh tiene una pasión por la enseñanza y ha desarrollado un enfoque de enseñanza único que es fácil de seguir y comprender. Su conocimiento experto de Excel ha ayudado a miles de estudiantes y profesionales en todo el mundo a mejorar sus habilidades y sobresalir en sus carreras. A través de su blog, Hugh comparte su conocimiento con el mundo, ofreciendo tutoriales gratuitos de Excel y capacitación en línea para ayudar a las personas y empresas a alcanzar su máximo potencial.