Come utilizzare offset con l'oggetto range in vba?
Utilizzando OFFSET con l’oggetto intervallo, puoi spostarti da una cella all’altra nel foglio di lavoro e puoi anche selezionare una cella o un intervallo. Ti dà anche accesso alle proprietà e ai metodi che hai con l’oggetto range da utilizzare, ma devi specificare gli argomenti in OFFSET per usarlo.
Utilizzo di OFFSET con l’oggetto Range
- Specifica l’intervallo da cui vuoi iniziare.
- Immettere un punto (.) per ottenere un elenco di proprietà e metodi.
- Selezionare la proprietà offset e specificare gli argomenti (riga e colonna).
- Alla fine, seleziona la proprietà da utilizzare con l’offset.
Selezionare un intervallo utilizzando OFFSET
Puoi anche selezionare un intervallo corrispondente al numero di righe e colonne distanti da un intervallo. Prendi la riga di codice seguente, che seleziona un intervallo di due celle composto da cinque righe in basso e 3 colonne a destra.
Range("A1:A2").Offset(3, 2).Select
Oltre a questo, puoi anche scrivere il codice per selezionare l’intervallo utilizzando una dimensione personalizzata. Considera un esempio del codice seguente.
Range(Range("A1").Offset(1, 1), Range("A1").Offset(5, 2)).Select
Per comprendere questo codice è necessario dividerlo in tre parti.
Prima di tutto, in questo oggetto intervallo hai la possibilità di specificare la prima e l’ultima cella dell’intervallo.
Ora torniamo all’esempio:
- Nella Parte UNO, hai utilizzato l’oggetto intervallo per fare riferimento alla cella una riga sotto e una colonna a destra della cella A1.
- Nella Parte DUE, hai utilizzato l’oggetto intervallo per fare riferimento alla cella cinque righe più in basso e due colonne a destra della cella A1.
- Nella parte THRID, hai utilizzato le celle nella prima e nella seconda parte per fare riferimento e selezionare un intervallo.
Utilizzo di OFFSET con ActiveCell
Puoi anche utilizzare la cella attiva invece di utilizzare un intervallo predefinito. Ciò significa che otterrai un offset dinamico per selezionare una cella navigando dalla cella attiva.
ActiveCell.Offset(5, 2).Select
La riga di codice sopra selezionerà la cella che si trova cinque righe più in basso e due colonne a destra della cella attiva.
Utilizzo di OFFSET con ActiveCell per selezionare un intervallo
Utilizzare il codice seguente per selezionare un intervallo nella cella attiva.
Range(ActiveCell.Offset(1, 1), ActiveCell.Offset(5, 2)).Select
Per capire come funziona questo codice, assicurati di controllare questa spiegazione.
Copia un intervallo utilizzando OFFSET
Range(Range("A1").Offset(1, 1), Range("A1").Offset(5, 2)).Copy Range(ActiveCell.Offset(1, 1), ActiveCell.Offset(5, 2)).Copy
Utilizzando la proprietà Cells con OFFSET
Puoi anche utilizzare la proprietà OFFSET con la proprietà CELLS. Considera il seguente codice.
Cells(1, 3).Offset(2, 3).Select
Il codice sopra fa riferimento innanzitutto alla cella A1 (come specificato) con la prima riga e la prima colonna utilizzando la proprietà celle, quindi utilizza la proprietà offset per selezionare la cella che si trova due righe più in basso e ha tre colonne.