¿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.

propiedad de rango utilizada

Nota: La propiedad UsedRange es una propiedad de solo lectura .

Escribir código con UsedRange

Utilice el siguiente código.

  1. Primero, debe especificar la hoja de cálculo.
  2. Luego ingrese un punto (.) e ingrese «UsedRange».
  3. Después de eso, use la propiedad o método que desee usar.
  4. 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.

copiar todo el rango usado
 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.

última celda activa del rango utilizado
 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.

rango utilizado en otra hoja de trabajo

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.

Añadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *