domingo, 24 de mayo de 2009

La propiedad Offset Excel - VBA

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