Cómo poblar un cuadro combinado de un formulario de usuario en Excel usando VBA

Para poblar un cuadro de lista de usuario con una lista estática se requiere un poco de conocimiento y algo de código VBA. Para que el cuadro de lista se actualice cuando la lista se actualiza, se requiere un poco más de trabajo. Podrías actualizar el rango de la lista cada vez que la actualices, o podrías crear una lista dinámica. Con lista dinámica me refiero realmente a un rango dinámico que contiene una lista de elementos de datos.

Índice de Contenido
  1. Creando un rango dinámico para la lista
  2. Creando el formulario de usuario
  3. Agregando el código que pobla el cuadro de lista

Creando un rango dinámico para la lista

Un ejemplo rápido. El siguiente formulario de usuario contiene un cuadro de lista, con una etiqueta de identificación. Quieres poblar el cuadro de lista utilizando la lista en A1:A6 (en una hoja llamada LookupLists, que no se muestra en la figura).

Cómo poblar un cuadro combinado de un formulario de usuario en Excel usando VBA - Software | Imagen 1 Newsmatic

Cómo poblar un cuadro combinado de un formulario de usuario en Excel usando VBA - Software | Imagen 2 Newsmatic

El primer paso es crear un rango dinámico para la lista de la siguiente manera:

  1. Haz clic en la pestaña Fórmulas y luego haz clic en Definir nombre en el grupo Nombres definidos para abrir el cuadro de diálogo Nuevo nombre. En Excel 2003, elige Nombre del menú Insertar y luego selecciona Definir.
  2. Ingresa un nombre para el rango, ColorList.
  3. En el control Se refiere a, ingresa la siguiente expresión: =DESREF(LookupLists!$A$2, 0, 0, CONTAR.SI(LookupLists!$A:$A)-1,1). LookupLists es el nombre de la hoja que contiene la lista de colores.
  4. Haz clic en Aceptar.

Cuando adaptes la expresión a tu propio trabajo, no incluyas una celda de encabezado en el rango (LookupLists!$A$2). Identifica solo las celdas que contienen los elementos de la lista real. Además, ambas referencias de celda deben ser absolutas.

Cómo crear una lista alfabética en Excel: 3 métodos efectivos

Creando el formulario de usuario

  1. Abre el Editor de Visual Basic (VBE) presionando [Alt]+[F11].
  2. En el menú Insertar, elige UserForm.
  3. Usando la Caja de herramientas, inserta un control de cuadro de lista. La Caja de herramientas debe verse cuando seleccionas el formulario de usuario. Si es necesario, elige Caja de herramientas del menú Ver.
  4. Agregué un control de etiqueta y escribí el texto Color. Puedes omitir este paso si quieres.
  5. Nombra el control de cuadro de lista como cboColor.

Agregando el código que pobla el cuadro de lista

  1. Haz doble clic en el formulario de usuario para abrir su módulo.
  2. Ingresa el siguiente procedimiento de sub:

```vba
Private Sub UserForm_Initialize()
' Poblar el cuadro de lista de colores.
Dim rngColor As Range
Dim ws As Worksheet
Set ws = Worksheets("LookupLists")
For Each rngColor In ws.Range("ColorList")
Me.cboColor.AddItem rngColor.Value
Next rngColor
End Sub
```

Ahora estás listo para agregar el código que pobla el cuadro de lista. Hazlo de la siguiente manera:

  1. Abre el formulario de usuario (cierra el módulo) y ejecútalo haciendo clic en [F5]. La instrucción For Each pobla la lista utilizando los elementos de datos en el rango ColorList. Cierra el formulario de usuario.

Cómo poblar un cuadro combinado de un formulario de usuario en Excel usando VBA - Software | Imagen 3 Newsmatic

Ahora, agreguemos un elemento a ColorList y veamos cómo funciona el cuadro de lista. Regresa a la hoja que contiene la lista e ingresa "Blanco" en la celda A7. Luego, regresa al VBE y ejecuta el formulario de usuario por segunda vez. Como puedes ver, el nombre del rango ColorList se adapta automáticamente para incluir el nuevo elemento de la lista, "Blanco". Posteriormente, el código pobla el cuadro de lista con toda la lista, incluyendo "Blanco", sin necesidad de realizar modificaciones.

Cómo poblar un cuadro combinado de un formulario de usuario en Excel usando VBA - Software | Imagen 4 Newsmatic

Para mantener el ejemplo simple, he omitido cualquier tarea de entrada de datos. En una aplicación del mundo real, probablemente querrías copiar el valor seleccionado por el cuadro de lista en un rango de datos. Eso requiere código adicional. Aquí solo te he mostrado cómo poblar el cuadro de lista con el contenido de un rango dinámico (lista).

Cómo usar tablas en Excel 2007 para ser más productivo y eficiente

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Software, allí encontraras muchos artículos similares a Cómo poblar un cuadro combinado de un formulario de usuario en Excel usando VBA , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.