¿cómo utilizar offset con el objeto de rango en vba?

Al usar OFFSET con el objeto de rango, puede navegar de celda en celda en la hoja de trabajo y también puede seleccionar una celda o rango. También te da acceso a las propiedades y métodos que tienes con el objeto de rango a usar, pero debes especificar los argumentos en OFFSET para usarlo.

Usando OFFSET con el objeto Rango

  1. Especifique el rango desde el que desea comenzar.
  2. Ingrese un punto (.) para obtener una lista de propiedades y métodos.
  3. Seleccione la propiedad de desplazamiento y especifique los argumentos (fila y columna).
  4. Al final, seleccione la propiedad a usar con el desplazamiento.
desplazamiento con objeto de rango

Seleccione un rango usando OFFSET

También puede seleccionar un rango que sea el número de filas y columnas alejadas de un rango. Tome la línea de código siguiente, que selecciona un rango de dos celdas que consta de cinco filas hacia abajo y 3 columnas a la derecha.

 Range("A1:A2").Offset(3, 2).Select
seleccionar rango usando compensación

Aparte de esto, también puedes escribir código para seleccionar el rango usando un tamaño personalizado. Considere un ejemplo del siguiente código.

 Range(Range("A1").Offset(1, 1), Range("A1").Offset(5, 2)).Select
seleccionar rango usando tamaño personalizado

Para comprender este código, debes dividirlo en tres partes.

dividido en tres partes

En primer lugar, en este objeto de rango tiene la opción de especificar la primera y la última celda del rango.

opción para especificar la primera celda

Ahora volvamos al ejemplo:

  • En la Parte UNO, usaste el objeto de rango para referirte a la celda una fila hacia abajo y una columna a la derecha de la celda A1.
  • En la Parte DOS, usaste el objeto de rango para referirte a la celda cinco filas hacia abajo y dos columnas a la derecha de la celda A1.
  • En la parte THRID, usaste las celdas de la primera y segunda parte para hacer referencia y seleccionar un rango.

Usando OFFSET con ActiveCell

También puede utilizar la celda activa en lugar de utilizar un rango predefinido. Esto significa que obtendrá un desplazamiento dinámico para seleccionar una celda navegando desde la celda activa.

 ActiveCell.Offset(5, 2).Select

La línea de código anterior seleccionará la celda que está cinco filas hacia abajo y dos columnas a la derecha de la celda activa.

Usando OFFSET con ActiveCell para seleccionar un rango

Utilice el siguiente código para seleccionar un rango en la celda activa.

 Range(ActiveCell.Offset(1, 1), ActiveCell.Offset(5, 2)).Select

Para comprender cómo funciona este código, asegúrese de consultar esta explicación.

Copiar un rango usando OFFSET

 Range(Range("A1").Offset(1, 1), Range("A1").Offset(5, 2)).Copy Range(ActiveCell.Offset(1, 1), ActiveCell.Offset(5, 2)).Copy

Usando la propiedad Celdas con OFFSET

También puede utilizar la propiedad OFFSET con la propiedad CELLS. Considere el siguiente código.

 Cells(1, 3).Offset(2, 3).Select
propiedad de celda con desplazamiento

El código anterior primero hace referencia a la celda A1 (como usted especificó) con la primera fila y la primera columna usando la propiedad de celdas, luego usa la propiedad de desplazamiento para seleccionar la celda que está dos filas hacia abajo y tiene tres columnas.

Añadir un comentario

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