Cómo llenar o cargar ComboBox con tabla desde vector en Excel sin repetir datos

icono excel y ecuaciones

Si se necesita llenar o cargar datos en un ComboBox con tabla desde vector en Excel, lo más probable es que se requiera hacerlo sin repetir ningún dato. Llenar o cargar el Combo Box con un vector permitirá que nuestros datos sean visualizados de una manera más cómoda.

Los arreglos son un conjunto de valores del mismo tipo y los vectores son arreglos unidireccionales, antes de trabajar con los vectores es importante que aprendas que son y como se usan y bajo que condones se usan los vectores dinámicos y como redimensionarlos.

Cómo Llenar o Cargar ComboBox con Tabla Desde Vector en Excel sin Repetir Datos

Esto puede parecer bastante complicado para quién no maneja la metodología correcta, y es que esta hoja de cálculo tiene tantas funciones que es difícil conocerlas todas.

Configurar el ComboBox

Para comenzar, se debe tener la información que se quiere agregar al ComboBox bien ordenada, en una lista dentro de una tabla sería la mejor manera.

Ahora bien, lo siguiente es abrir o acceder al Editor de Visual Basic, ya sea mediante la pestaña “Programador” o con los comandos “Alt + F11”.

Seguidamente, dentro del editor, se busca el botón “Insertar” ubicado en la cinta superior, y de las opciones expuestas, se opta por la llamada “UserForm”.

De esta manera, se contará con una ventana emergente, donde se agregará del menú inferior de “Controles” el elemento “Cuadro combinado”.

Luego, en la parte inferior izquierda de la pantalla, se podrá cambiar el nombre del cuadro al que el usuario desee. El siguiente paso es dar doble clic sobre la ventana del formulario.

graficas de excel

Así, se abrirán los ajustes del UserForm donde, en el lado derecho habrá una flecha con los “Eventos”, de los que se elige “Initialize”. Esta acción agregará los datos pertinentes a la ventana, donde se comenzará a crear el código pertinente para lo que buscamos.

El código

En este caso, empezaremos por escribir una serie de variables que son las que dotaran y permitirán que el formulario pueda trabajar correctamente. Para eso, se debe rellenar de la siguiente forma:

Private Sub UserForm_Initialize()

Dim ValorUnico As Collection

Dim eng As Range

Dim cell As Range

Dim sh As Worksheet

Dim vNum As Variant

Set sh = ThisWorkbook.Worksheets("Hoja1")

Set Rng = sh.Range("D4", sh.Range(D4).End(x1Down))

Set ValorUnico = New Collection

On Error Resume Next

For Each cell In Rng.Cells

ValorUnico.Add cell.Value, CStr(cell.Value)

Next cell

On Error GoTo 0

For Each vNum In ValorUnico

Me.UserForm.AddItem vNum

Next vNum

Para finalizar, se selecciona el icono del “Play”, la flecha verde, “Continuar” o “F5” para ejecutar el ComboBox, y de esta manera nos llevará directamente hacia la hoja de cálculo.

¿Cómo funciona este código?

La importancia de escribir tal cual es código antes presentado, radica en que hay ciertos elementos en el mismo que son los que permiten que los datos en el ComboBox de Excel no se repitan.

En este sentido, los comandos deben respetarse totalmente. De hecho, una de las variables que proceden a omitir los registros repetidos es “On Error Resume Next”.

Además, el “On Error GoTo 0”, de igual manera influye en cómo el formulario procederá a tomar los datos que no sean únicos. Ahora bien, algo que se debe tomar en cuenta, es el nombre de la hoja en la que se está trabajando.

¿Por qué? Pues porque el titulo de a misma, debe estar escrita tal cual en la línea “Set sh = ThisWorkbook.Worksheets("Hoja1")” del código. Siendo “Hoja1” simplemente un ejemplo.

icono de excel

Aunado a esto, en cuanto al nombre que le hemos dado al ComboBox de igual manera será imprescindible recordarlo y usarlo correctamente.

Ya que, deberá escribirse en la parte del código que dice “Me.UserForm.AddItem vNum”, sustituyendo el “UseForm” por el título que se haya elegido.

Y de esta manera, se habrá agregado un ComboBox de Excel donde los valores o datos cargados no se repiten.

Aunque, como se ha visto, este procedimiento suele ser puesto en práctica por usuarios que ya tienen cierto manejo de las funciones que esta herramienta de cálculo incluye.

Por lo que, si se desea seguir trabajando con este tipo de procesos, es posible que se necesite realizar algún tipo de curso de Excel o dedicarse a indagar a base de pruebas y errores todas las posibilidades.

Así como los ComboBox trabajan con vectores, también pueden trabajar con los datos de rango. Los datos de rango también  se pueden pasar sin necesidad de que sean repetidos.

Subir