OFFSET VBA

Funzione Excel VBA OFFSET

La funzione VBA Offset viene utilizzata per spostare o fare riferimento a un riferimento saltando un particolare numero di righe e colonne, gli argomenti per questa funzione in VBA sono gli stessi degli argomenti nel foglio di lavoro.

Ad esempio, supponi di avere un insieme di dati come quello sotto.

Ora dalla cella A1, vuoi spostarti verso il basso di 4 celle e vuoi selezionare quella quinta cella, cioè la cella A5.

Allo stesso modo, se vuoi spostarti verso il basso dalla cella A1 di 2 righe e andare di 2 colonne a destra e selezionare quella cella, cioè la cella C2.

In questi casi, la funzione OFFSET è molto utile. Soprattutto in VBA OFFSET, la funzione è semplicemente fenomenale.

OFFSET viene utilizzato con l'oggetto intervallo in Excel VBA

In VBA non possiamo inserire direttamente la parola OFFSET. Dobbiamo usare prima l'oggetto RANGE VBA e da quell'oggetto range possiamo usare la proprietà OFFSET.

In Excel l'intervallo non è altro che una cella o un intervallo della cella. Poiché OFFSET fa riferimento alle celle, dobbiamo prima utilizzare l'oggetto RANGE e quindi possiamo utilizzare il metodo OFFSET.

Sintassi di OFFSET in VBA Excel

  • Offset riga: quante righe si desidera spostare dalla cella selezionata. La cella selezionata qui è A1, ovvero Intervallo ("A1").
  • Offset colonna: quante colonne vuoi spostare dalla cella selezionata. La cella selezionata qui è A1, ovvero Intervallo ("A1").

Esempi

Puoi scaricare questo modello OFFSET VBA qui - Modello OFFSET VBA

Esempio 1

Considera i dati seguenti come dimostrazione di esempio.

Ora voglio selezionare la cella A6 dalla cella A1. Avvia la macro e la cella di riferimento utilizzando l'oggetto Range.

Codice:

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

Ora voglio selezionare la cella A6, cioè voglio ridurre di 5 celle. Quindi inserisci 5 come parametro per Row Offset.

Codice:

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

Poiché sto selezionando nella stessa colonna, tralascio la parte della colonna. Chiudere la parentesi e inserire un punto (.) E digitare il metodo “Seleziona”.

Codice:

 Sub Offset_Example1 () Intervallo ("A1"). Offset (5). Selezionare End Sub 

Ora esegui questo codice usando il tasto F5 oppure puoi eseguire manualmente per selezionare la cella A6 come mostrato di seguito.

Produzione:

Esempio n. 2

Ora prendi gli stessi dati ma qui vedremo come utilizzare anche l'argomento offset di colonna. Ora voglio selezionare la cella C5.

Dal momento che voglio selezionare la cella C5 in primo luogo, voglio spostare verso il basso di 4 celle e prendere le 2 colonne a destra per raggiungere la cella C5. Il codice seguente farebbe il lavoro per me.

Codice:

 Sub Offset_Example2 () Intervallo ("A1"). Offset (4, 2). Seleziona End Sub 

Eseguo questo codice manualmente o usando il tasto F5, quindi selezionerà la cella C5 come mostrato nello screenshot qui sotto.

Produzione:

Esempio n. 3

Abbiamo visto come sfalsare righe e colonne. Possiamo anche selezionare le celle sopra dalle celle specificate. Ad esempio, se ci si trova nella cella A10 e si desidera selezionare la cella A1, come si seleziona?

In caso di spostamento verso il basso della cella, possiamo inserire un numero positivo, quindi qui in caso di spostamento verso l'alto, dobbiamo inserire numeri negativi.

Dalla cella A9 dobbiamo salire di 8 righe cioè -8.

Codice:

 Sub Offset_Example1 () Intervallo ("A9"). Offset (-8). Seleziona End Sub 

Se esegui questo codice utilizzando il tasto F5 o puoi eseguire manualmente questo codice, selezionerà la cella A1 dalla cella A9.

Produzione:

Esempio n. 4

Supponi di essere nella cella C8. Da questa cella, vuoi selezionare la cella A10.

Dalla cella attiva, cioè la cella C8, dobbiamo prima spostarci in basso di 2 righe e dobbiamo spostarci a sinistra di 2 colonne per selezionare la cella A10.

In caso di spostamento a sinistra per selezionare la colonna, è necessario specificare che il numero è negativo. Quindi qui dobbiamo tornare di -2 colonne.

Codice:

 Sub Offset_Example2 () Intervallo ("C8"). Offset (2, -2). Seleziona End Sub 

Ora esegui questo codice usando il tasto F5 o esegui manualmente, selezionerà la cella A10 come mostrato di seguito:

Produzione:

Cose da ricordare

  • In caso di spostamento verso l'alto di righe, è necessario specificare il numero in negativo.
  • In caso di spostamento a sinistra per selezionare la colonna, il numero dovrebbe essere negativo.
  • La cella A1 è la prima riga e la prima colonna.
  • Cella attiva indica le celle attualmente selezionate.
  • Se vuoi selezionare la cella usando OFFSET devi menzionare ".Select".
  • Se vuoi copiare la cella usando OFFSET devi menzionare ".Copy".