Funció VBA OFFSET | Com s'utilitza la propietat de compensació VBA d'Excel (exemple)

Funció OFFSET VBA d'Excel

VBA Offset La funció s'utilitza per moure o fer referència a una referència que salta un nombre particular de files i columnes, els arguments d'aquesta funció a VBA són els mateixos que els arguments del full de treball.

Per exemple, suposem que teniu un conjunt de dades com la següent.

Ara des de la cel·la A1, voleu baixar 4 cel·les i voleu seleccionar aquesta cinquena cel·la, és a dir, la cel·la A5.

De la mateixa manera, si voleu baixar de la cel·la A1 a 2 files i anar 2 columnes a la dreta i seleccionar aquesta cel·la, és a dir, la cel·la C2.

En aquests casos, la funció OFFSET és molt útil. Especialment a VBA OFFSET, la funció és fenomenal.

OFFSET s’utilitza amb l’objecte Range a Excel VBA

A VBA no podem introduir directament la paraula OFFSET. Primer hem d’utilitzar l’objecte VBA RANGE i, a partir d’aquest objecte d’interval, podem utilitzar la propietat OFFSET.

A l’interval Excel no hi ha res més que una cel·la o un interval de la cel·la. Com que OFFSET fa referència a les cel·les, primer hem d’utilitzar l’objecte RANGE i després podem utilitzar el mètode OFFSET.

Sintaxi de OFFSET a VBA Excel

  • Desplaçament de fila: Quantes files voleu compensar de la cel·la seleccionada. Aquí la cel·la seleccionada és A1, és a dir, Interval ("A1").
  • Desplaçament de columna: Quantes columnes voleu compensar de la cel·la seleccionada. Aquí la cel·la seleccionada és A1, és a dir, Interval ("A1").

Exemples

Podeu descarregar aquesta plantilla VBA OFFSET aquí: plantilla VBA OFFSET

Exemple 1

Penseu en les dades següents per exemple, demostració.

Ara vull seleccionar la cel·la A6 de la cel·la A1. Inicieu la macro i la cel·la de referència mitjançant l'objecte Range.

Codi:

 Sub Offset_Example1 () Range ("A1"). Offset (End Sub 

Ara vull seleccionar la cel·la A6, és a dir, vull reduir 5 cel·les. Per tant, introduïu 5 com a paràmetre per a Offset de fila.

Codi:

 Sub Offset_Example1 () Range ("A1"). Offset (5 End Sub 

Com que estic seleccionant a la mateixa columna, deixo de banda la part de la columna. Tanqueu el claudàtor i poseu un punt (.) I escriviu el mètode "Selecciona".

Codi:

 Sub Offset_Example1 () Range ("A1"). Offset (5). Seleccioneu End Sub 

Ara executeu aquest codi amb la tecla F5 o podeu executar-lo manualment per seleccionar la cel·la A6 tal com es mostra a continuació.

Sortida:

Exemple 2

Ara agafeu les mateixes dades, però aquí també es veurà com s'utilitza l'argument de desplaçament de columna. Ara vull seleccionar la cel·la C5.

Com que vull seleccionar la cel·la C5 en primer lloc, vull baixar 4 cel·les i agafar les 2 columnes correctes per arribar a la cel·la C5. El codi següent em faria la feina.

Codi:

 Sub Offset_Example2 () Range ("A1"). Offset (4, 2). Seleccioneu End Sub 

Executo aquest codi manualment o amb la tecla F5, llavors seleccionarà la cel·la C5 tal com es mostra a la captura de pantalla següent.

Sortida:

Exemple 3

Hem vist com compensar files i columnes. També podem seleccionar les cel·les anteriors de les cel·les especificades també. Per exemple, si sou a la cel·la A10 i voleu seleccionar una cel·la A1, com seleccioneu?

En cas de baixar per la cel·la, podem introduir un nombre positiu, de manera que aquí, en cas de pujar, hem d’introduir números negatius.

Des de la cel·la A9 hem de pujar 8 files, és a dir, -8.

Codi:

 Sub Offset_Example1 () Range ("A9"). Offset (-8). Seleccioneu End Sub 

Si executeu aquest codi amb la tecla F5 o podeu executar-lo manualment, seleccionarà la cel·la A1 de la cel·la A9.

Sortida:

Exemple # 4

Suposem que sou a la cel·la C8. Des d'aquesta cel·la, voleu seleccionar la cel·la A10.

Des de la cel·la activa, és a dir, la cel·la C8, primer hem de baixar 2 files i hem de desplaçar-nos a l'esquerra per 2 columnes per seleccionar la cel·la A10.

En cas de desplaçar-vos cap a l’esquerra per seleccionar la columna, hem d’especificar que el nombre sigui negatiu. Per tant, aquí hem de tornar per -2 columnes.

Codi:

 Sub Offset_Example2 () Range ("C8"). Offset (2, -2). Seleccioneu End Sub 

Ara executeu aquest codi amb la tecla F5 o executeu-lo manualment, seleccionarà la cel·la A10 com es mostra a continuació:

Sortida:

Coses que cal recordar

  • En cas de pujar de files, hem d’especificar el nombre en negatius.
  • En cas de moure’s cap a l’esquerra per seleccionar la columna, el nombre ha de ser negatiu.
  • La cel·la A1 és la primera fila i la primera columna.
  • Cel·la activa significa cel·les seleccionades actualment.
  • Si voleu seleccionar la cel·la mitjançant OFFSET, heu de mencionar-ho ".Selecciona".
  • Si voleu copiar la cel·la mitjançant OFFSET, heu de mencionar-ho ".Còpia".