¿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
- Especifique el rango desde el que desea comenzar.
- Ingrese un punto (.) para obtener una lista de propiedades y métodos.
- Seleccione la propiedad de desplazamiento y especifique los argumentos (fila y columna).
- Al final, seleccione la propiedad a usar con el desplazamiento.
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
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
Para comprender este código, debes dividirlo 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.
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
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.