La propiedad Offset
--------------------
La propiedad offset permite 2 argumentos que corresponden a la posicion relativa a la celda.
Ejemplo
--------
Object.offset(RowOffset,ColumnOffset)
ActiveCell.Offset(0, 0).Select 'como hemos colocado 0 para los argumentos de fila y columna
la seleccion sigue siendo nuestra celda activa inicial.
Activecell.0ffset(1,0).select 'ahora la celda activa se encuentra una fila por debajo
'si nuestra celda activa inicial hubise sido A1 ahora la celda activa seria A2
Msgbox Activecell.0ffset(1,0).address
Es importante tambien tener en cuenta que obtendremos un error si asignamos o nos tratamoos de desplazar a una rango inexistente.
por ejemplo ActiveCell.Offset(-5, 0).Select 'nos arrojara un error porque no existe el rango que se trata de seleccionar que seria 5 filas arriba de A2.
De igual manera podemos desplazarnos entre las colmnas variando el valor para ColumnOffset
ActiveCell.Offset(0, 1).Select 'desplazarse una columna a la derecha
Tambien podemos usar ambos argumentos(RowOffset,ColumnOffset) para indicar hacia donde desplazarnos o asignar un valor a determinada celda.
Sub sample_vba_offset()
Dim RANGO As Range
Set RANGO = Range("B1")
RANGO.Offset(2, 4).Value = "27 DE MAYO GRAN FINAL DE LA Champions league - 2009"
'nos movemos 2 filas por debajo y 4 columnas a la derecha
End Sub
'Ojo...de igual manera obtendremos un error si tratamos de mover o asignar un valor hacia un rango no existente.
ActiveCell.Offset(0, -3).Select 'desplazarse 3 columnas a la Izquierda