Cómo funciona la propiedad offset en visual basic

En las macros, con frecuencia es necesario desplazarse por las celdas partiendo desde una celda de referencia. Básicamente, se necesita reproducir el pulsar las flechas del teclado. Para ello, tenemos la propiedad Offset del método Range.

Propiedad Offset

Esta propiedad básicamente se divide en 2 simples cuestiones.
  1. ¿Cuántas filas hay que desplazarse?
  2. ¿Cuántas columnas hay que desplazarse?
Por ejemplo, si queremos seleccionar una celda en concreta a partir de la celda que tenemos activa, el código seguiría la siguiente regla:

ActiveCell.Offset(Número de filas, Número de columnas).Select

o en el caso de que queramos escribir el valor 1 en referencia a la celda A1, sería esta otra regla:

Range("A1").Offset(Número de filas, Número de columnas).value = 1

Movimiento vertical

Para desplazarse de forma vertical, hay que hacer referencia al número de filas que necesitamos movernos.

Ello quiere decir que para desplazar la referencia hacia abajo, los números deben ser positivos y que para desplazarse hacia arriba, los números deber ser negativos.

Situándonos en la celda marcada en azul, hemos aplicado el siguiente código para seleccionar la celda que se encuentra 3 celdas más abajo.

ActiveCell.Offset(3, 0).Select

Propiedad offset 4

Situándonos en la celda marcada en azul, hemos aplicado el siguiente código para seleccionar la celda que se encuentra 2 celdas más arriba.

ActiveCell.Offset(-2, 0).Select

Propiedad offset 5

Movimiento horizontal

Para desplazarse de forma vertical, hay que hacer referencia al número de columnas que necesitamos movernos.

Ello quiere decir que para desplazar la referencia hacia la derecha, los números deben ser positivos y que para desplazarse hacia la izquierda, los números deber ser negativos.

Situándonos en la celda marcada en azul, hemos aplicado el siguiente código para seleccionar la celda que se encuentra 2 celdas a la derecha.

ActiveCell.Offset(0, 2).Select

Propiedad_Offset_1


Situándonos en la celda marcada en azul, hemos aplicado el siguiente código para seleccionar la celda que se encuentra 1 celda a la izquierda.


ActiveCell.Offset(0, -1).Select

Propiedad Offset 2

Movimiento horizontal y vertical

Para hacer un movimiento horizontal y vertical no hay más que hacer la combinación de ambos apartados anteriores.

Situándonos en la celda marcada en azul, se debe aplicar el siguiente código para seleccionar la celda que se encuentra 1 celda a la derecha y 2 hacia abajo.

ActiveCell.Offset(2, 1).Select

Propiedad Offset 3


No hay comentarios:

Publicar un comentario

Otras entradas