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,

Antes de continuar recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. 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; en forma más gráfica y detallada lo podrás ver en el vídeo siguiente.

Suscribe a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo formulario que crea un listado de todas las hojas para poder luego seleccionarlasbuscar en listbox mientras escribes en textboxordenar hojas libro excel por su nombreconectar Excel con Access y muchos ejemplos más.





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