Rangos dinámicos en VBA: la última fila y la última columna.

Rangos dinámicos en VBA

Cuando trabajas con macros en Excel, uno de los problemas más frecuentes a resolver es acerca de las dimensiones de los datos con los que trabajas. Por ejemplo: supón que debes automatizar un reporte, y conoces el tipo de datos que recibirás (número de columnas y tipo de datos), pero el número de datos/registros, ¿se puede predecir? Tal vez, pero ¿qué pasa si no conocieras el número de datos o registros con los que trabajarás? La respuesta más común: extender el rango hasta celda un millón (1,048,576).Pero esto consume muchos recursos (memoria y capacidad de procesamiento), y el proceso resulta ineficiente: te va a tomar mucho tiempo leer todos esos datos y manejar las excepciones (datos en blanco). Es por eso que es siempre recomendable usar rangos dinámicos: a través de un código simple, determinas cuál es la última fila ocupada o la última columna ocupada, y con esto conocerás las dimensiones de los datos que estás usando y podrás continuar en el proceso sin poblemas.

Encontrar la última fila ocupada con VBA

Descarga archivo de trabajo:  rangoDinamicoFilas

 

Este es el código para conocer la última fila ocupada de un rango:

Sub determinarUltimaFila()
ultimaFila = Sheets(“Sheet1“).Cells(Rows.Count, 1).End(xlUp).Row
MsgBox “La última fila es: ” & ultimaFila
End Sub

Donde

Sheet1 : hoja de trabajo.
1: columna de referencia

La columna de referencia es aquella a partir de cuál se definirá la última fila ocupada.  Es decir, es la columna que sabes que contiene información más completa, por ejemplo: un ID, una fecha, o cualquier otro identificador. No importa si hay espacios en blanco, lo que importa es que conozcas que esa columna contiene información acerca del último dato/registro/fila disponible.

Encontrar la última columna ocupada con VBA.

Descarga archivo de trabajo:  rangoDinamicoColumna

Este es el código para conocer la última columna ocupada de un rango:

Sub determinarUltimaColumna()
ultimaColumna = Sheets(“Sheet1”).Cells(1, Columns.Count).End(xlToLeft).Column
MsgBox “La última columna es: ” & ultimaColumna
End Sub

Donde

Sheet1 : hoja de trabajo.
1: fila de referencia

La columna de referencia es aquella a partir de cuál se definirá la última columna ocupada.  Es decir, es la fila que sabes que contiene información más completa, casi siempre es la primera (por los títulos de las columnas). No importa si hay espacios en blanco, lo que importa es que conozcas que esa columna contiene información acerca del último campo/columna disponible.

Comparte!

 

Copyright © Todos los derechos reservados | FDI Tecnología y Finanzas, SAS de CV. De no existir previa autorización, queda expresamente prohibida la Publicación, retransmisión, edición y cualquier otro uso de los contenidos.