Como determinar un rango variable en forma automática




Siempre que se trabaja con base de datos es preciso saber o determinar un rango para realizar una determinada acción sobre los datos contenidos en el mismo, es relativamente fácil si el rango es siempre el mismo, pero que sucede si el rango varía constantemente porque se agregan o eliminan datos, es por ello que la macro del presente ejemplo permite determinar en forma automática el donde se encuentra la base de datos, es decir la macro determina un rango variable o dinámico.

Anteriormente se han presentado otros ejemplos que te pueden interesar y que están relacionados como son: como determinar la última fila con datos y como determinar la primer y última fila de una selección, se debe tener en claro que el último link hacer referencia a la determinación de la dirección de la última fila de la selección no del rango donde se encuentran los datos,

Si estás usando macros para automatizar tu libro de Excel seguramente te es necesario saber seleccionar o referenciar celdas, en FORMAS DE SELECCIONAR O REFERENCIAR CELDAS CON VBA (Spanish Edition) encontrarás una excelente ayuda; si trabajas con fechas en Excel, fíjate en el siguiente link que te puede ser de utilidad FORMATOS Y FUNCIONES DE FECHA Y HORA DE MICROSOFT EXCEL (Spanish Edition)



 

Te recomiendo que leas un excelente libro sobre Excel el que te ayudará operar las planillas de cálculo, haz click acá, si quieres un libro sobre Excel, en inglés, entonces debes hacer click acá. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

Siguiendo con la explicación del ejemplo que se muestra, con está macro se determina en forma automática el rango usado, no interesa si se aumentan filas, se eliminan filas, se agregan datos en filas al principio, intermedio o final, la macro siempre recalculará el rango dinámico o variable en forma automática, esto es ideal en macros que precisan hacer un procedimiento sobre los datos de un rango variable o dinámico.

En el ejemplo, primero se agrega en una variable "b" el nombre de la hoja, esto no es necesario para determinar el rango variable, pero se agrega para que quede más completo el ejemplo; luego con el comando UsedRange se determina el rango usado, posteriormente sale un msgbox mostrando cual es el rango usado y por último se selecciona dicho rango. En rango variable o dinámico se expone otra forma de determinar el rango variable, es un poco más larga, pero se obtiene el mismo resultado, se debe aplicar una u otra forma dependiendo de los datos que tengamos o estructura del libro Excel.

Al final hay un link del cual podrás descargar el ejemplo y adaptarlo a tus necesidades, el código se encuentra abierto y sin ningún tipo de restricción, te recomiendo descargar el ejemplo y ver su codificación y funcionamiento.


Código que se inserta en un módulo





Sub DetectaRangoDin()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim b, mc As String
'determines last row with data
b = ActiveSheet.Name
mc = ActiveSheet.UsedRange.Address(False, False)
MsgBox ("El rango en la hoja " & b & " es " & mc), vbInformation, "AVISO"
Range(mc).Select
End Sub




Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.



If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends