¿cómo utilizar la propiedad usedrange en vba?
En VBA, la propiedad UsedRange representa el rango de una hoja de trabajo que contiene datos. El rango utilizado comienza desde la primera celda de la hoja de trabajo donde tiene un valor hasta la última celda donde tiene un valor. Al igual que en el siguiente ejemplo donde utilizó el rango de A1 a C11.
Nota: La propiedad UsedRange es una propiedad de solo lectura .
Escribir código con UsedRange
Utilice el siguiente código.
- Primero, debe especificar la hoja de cálculo.
- Luego ingrese un punto (.) e ingrese «UsedRange».
- Después de eso, use la propiedad o método que desee usar.
- Al final, ejecute el código.
Sub vba_used_range() ActiveSheet.UsedRange.Clear End Sub
El código anterior borra todo del rango usado de la hoja activa.
Copiar el rango usado
Utilice el siguiente código para copiar todo el UsedRange.
Sub vba_used_range() ActiveSheet.UsedRange.Copy End Sub
Contar filas y columnas en el rango utilizado
Hay una propiedad de recuento que puede utilizar para contar las filas y columnas del rango utilizado.
MsgBox ActiveSheet.UsedRange.Rows.Count MsgBox ActiveSheet.UsedRange.Columns.Count
Las dos líneas de código anteriores muestran un cuadro de mensaje con la cantidad de filas y columnas que tiene en el rango utilizado.
Activar la última celda del rango utilizado
También puede habilitar la última celda del rango utilizado (esta sería la última celda utilizada en la hoja de trabajo). Considere el siguiente código.
Sub vba_used_range() Dim iCol As Long Dim iRow As Long iRow = ActiveSheet.UsedRange.Rows.Count iCol = ActiveSheet.UsedRange.Columns.Count ActiveSheet.UsedRange.Select Selection.Cells(iRow, iCol).Select End Sub
Este código toma el número de filas y columnas usando la propiedad UsedRange y luego usa estos números para seleccionar la última celda en el rango usado.
Consulte UsedRange en otra hoja de trabajo.
Si intenta hacer referencia al rango utilizado en una hoja de trabajo que no sea la hoja activa, VBA mostrará un error como este.
Por lo tanto, la hoja de trabajo a la que hace referencia debe estar activada (solo entonces podrá usar la propiedad UsedRange).
Sub vba_used_range() Worksheets("Sheet4").Activate Worksheets("Sheet4").UsedRange.Select End Sub
Esto significa que no puede hacer referencia al rango utilizado en un libro cerrado. Pero primero puede abrir un libro de trabajo y luego habilitar la hoja de trabajo para usar la propiedad UsedRange.
Obtener la dirección del rango utilizado
Utilice la siguiente línea de código para obtener la dirección del rango utilizado.
Sub vba_used_range() MsgBox ActiveSheet.UsedRange.Address End Sub
Contar celdas vacías en el rango usado
El siguiente código utiliza bucles FOR (For Each) y recorre todas las celdas del rango utilizado y cuenta las celdas vacías.
Sub vba_used_range() Dim iCell As Range Dim iRange As Range Dim c As Long Dim i As Long Set iRange = ActiveSheet.UsedRange For Each iCell In ActiveSheet.UsedRange c = c + 1 If IsEmpty(iCell) = True Then i = i + 1 End If Next iCell MsgBox "There are total " & c & _ " cell(s) in the range, and out of those " & _ i & " cell(s) are empty." End Sub
Cuando ejecuta este código, muestra un cuadro de mensaje con el número total de celdas y el número de celdas vacías.