#rangosdinamicosVBA #rangosdinamicosenexcel #rangosdinamicosexcelvba #rangodinámicoparaquésirve #rangosdináicosparavalidacióndedatos #listadesplegabledinamicaexcel #listadesplegableformularioexcel #listadesplegableformularioexcelvba #listboxvbaform #listboxformexcel #basededatosenexcel
Hola emprendedores y entusiastas productivos. En esta ocasión vamos a desarrollar rangos dinámicos y a asociarlos a casilleros tipo "ComboBox" o listas desplegables dentro de un formulario.
Rango dinámico
Se podría definir como aquel conjunto de datos variable. Entonces, aplicado a Excel, podríamos inferir que es una matriz variable en cuanto a filas y/o columnas, es decir, es una tabla cuyos datos se van actualizando, ya sea añadiendo, reemplazando o eliminando datos.
Bien, con la teoría canalizada, podemos establecer un procedimiento para el desarrollo de rangos dinámicos y anexarlo a una lista desplegable. Hay que tener en cuenta que, podemos realizar todo el procedimiento en macros o con el administrador de nombres, y es con este último que realizaremos los pasos como sigue a continuación:
1. Determinar el rango dinámico y asignar nombre
Se debe definir si es un rango que va a ser variable en filas, columnas o combinados. Una vez identificada la tabla que se va a desarrollar, nos vamos a la pestaña Fórmulas - Administrador de nombres - Nuevo.
Luego, click en Nuevo, asegurarse que el casillero ámbito esté como Libro, de lo contrario ese rango sólo funcionará para la hoja en cuestión; colocar el nombre del rango dinámico, seguido de la fórmula, y aceptar.
A continuación vamos a establecer 3 fórmulas para los 3 casos propuestos:
Rango dinámico en una única fila
Fórmula asignada para el ejemplo:
=DESREF(Hoja1!$B$3;;;CONTARA(Hoja1!$B$3:$B$1048576))
Esta formula tomará todos los datos desde B3 hasta el último valor que se asigne.
Rango dinámico en filas con varias columnas fijas
Fórmula asignada para el ejemplo:
=DESREF(Hoja1!$B$3;0;0;CONTARA(Hoja1!$B:$B);4)
Esta fórmula tomará todo el rango de datos desde la posición B3 hasta la última fila con valor en la columna B y hasta 4 columnas después, es decir, hasta la columna E.
Rango dinámico en filas y columnas
Fórmula asignada para el ejemplo:
=DESREF(Hoja1!$B$3;0;0;CONTARA(Hoja1!$B$3:$B$1048576);CONTARA(Hoja1!$B$3:$Z$3))
Esta fórmula tomará todos los datos desde B3 hasta el último dato con valor en la columna B, pero además tomará los datos de la posición B3 hasta el último dato con valor en la fila 3 hasta la columna z, es decir, con esta formula se contempla cualquiera de los dos escenarios o a su vez los dos escenarios entre rangos dinámicos.
2. Asociar el nombre del rango dinámico a una lista desplegable (ComboBox)
Para ello, vamos a abrir el entorno VBA en Excel pulsando Alt + F11. Luego, nos dirigimos a la pestaña insertar - userform. Elegimos del cuadro de herramientas el casillero cuadro combinado y lo insertamos dentro del userform, como se puede observar en la siguiente imagen:
Lo siguiente es asociar el nombre del rango dinámico elaborado. Para ello, damos un click sobre el ComboBox o el casillero recién creado, luego pulsamos sobre la pestaña ver, ventana propiedades, nos dirigimos a "RowSource" y colocamos el nombre del rango dinámico, este nombre debe ser colocado exactamente igual, cuidando todos los caracteres (mayúsculas, minúsculas, espacios, etc.).
Y así, hemos desarrollado rangos dinámicos y hemos anexado los mismos a listas desplegables.
Si deseas armar tus propios formularios y construir tu propia base de datos a partir de nuestro código ya desarrollado puedes considerar adquirir nuestro programa de gestión y planificación de inventarios para sistemas de producción a un costo bastante accesible. El mismo te permite editar todo el código sin ningún tipo de restricción.
Por mi parte, me despido, sin antes desearles un genial día. Y, no se olviden de sonreír, para recordar que la vida sonríe siempre.
Comments