Intervallo di selezione VBA

Intervallo di selezione VBA di Excel

Dopo che le basi sono state riempite con VBA, è importante capire come lavorare con un intervallo di celle nel foglio di lavoro. Una volta che inizi a eseguire i codici, praticamente la maggior parte delle volte devi lavorare con un intervallo di celle. Quindi, è importante capire come lavorare con un intervallo di celle e uno di questi concetti è VBA "Selezione dell'intervallo". In questo articolo, ti mostreremo come lavorare con l '"intervallo di selezione" in Excel VBA.

La selezione e l'intervallo sono due argomenti diversi ma quando diciamo di selezionare l'intervallo o la selezione dell'intervallo è un unico concetto. RANGE è un oggetto, "Selection" è una proprietà e "Select" è un metodo. Le persone tendono a confondere con questi termini, è importante conoscere le differenze in generale.

Come selezionare un intervallo in Excel VBA?

Puoi scaricare questo modello Excel dell'intervallo di selezione VBA qui - Modello Excel dell'intervallo di selezione VBA

Esempio 1

Ad esempio, supponiamo di voler selezionare la cella A1 nel foglio di lavoro, quindi prima dobbiamo specificare l'indirizzo della cella utilizzando l'oggetto RANGE come di seguito.

Codice:

Dopo aver menzionato la cella che dobbiamo selezionare put dot per vedere l'elenco IntelliSense associato all'oggetto RANGE.

Forma questa varietà di elenchi sceglie il metodo "Seleziona".

Codice:

 Sub Range_Example1 () Range ("A1"). Seleziona End Sub 

Ora, questo codice selezionerà la cella A1 nel foglio di lavoro attivo.

Se vuoi selezionare la cella nei diversi fogli di lavoro, prima dobbiamo specificare il foglio di lavoro con il suo nome. Per specificare il foglio di lavoro dobbiamo utilizzare l'oggetto “FOGLIO DI LAVORO” e inserire il nome del foglio di lavoro tra virgolette.

Ad esempio, se si desidera selezionare la cella A1 nel foglio di lavoro "Foglio dati", specificare prima il foglio di lavoro come di seguito.

Codice:

 Sub Range_Example1 () Worksheets ("Data Sheet") End Sub 

Quindi continua il codice per specificare cosa dobbiamo fare in questo foglio. In "Data Sheet" dobbiamo selezionare la cella A1, quindi il codice sarà RANGE ("A1").

Codice:

 Sub Range_Example1 () Worksheets ("Data Sheet"). Range ("A1"). Seleziona End Sub 

Quando provi a eseguire questo codice, verrà visualizzato l'errore di seguito.

La ragione è che "non possiamo fornire direttamente un oggetto intervallo e selezionare il metodo all'oggetto fogli di lavoro".

Innanzitutto, dobbiamo selezionare o attivare il foglio di lavoro VBA, quindi possiamo fare tutto ciò che volevamo fare.

Codice:

 Sub Range_Example1 () Worksheets ("Data Sheet"). Activate Range ("A1"). Seleziona End Sub 

Ora questo selezionerà la cella A1 nel foglio di lavoro "Foglio dati".

Esempio n. 2: utilizzo dell'intervallo selezionato corrente

Selezionare è una cosa diversa e lavorare con un intervallo di celle già selezionato è diverso. Supponiamo di voler inserire un valore "Hello VBA" nella cella A1, quindi possiamo farlo in due modi.

In primo luogo possiamo passare direttamente il codice VBA come RANGE ("A1"). Value = "Hello VBA".

Codice:

 Sub Range_Example1 () Range ("A1"). Value = "Hello VBA" End Sub 

Ciò che questo codice farà è che inserirà semplicemente il valore "Hello VBA" nella cella A1 indipendentemente da quale cella è attualmente selezionata.

Guarda il risultato sopra del codice. Quando eseguiamo questo codice, ha inserito il valore "Hello VBA" anche se la cella attualmente selezionata è B2.

In secondo luogo, possiamo inserire il valore nella cella utilizzando la proprietà "Selezione". Per prima cosa, dobbiamo selezionare la cella manualmente ed eseguire il codice.

Codice:

 Sub Range_Example1 () Selection.Value = "Hello VBA" End Sub 

Ciò che questo codice farà è che inserirà il valore "Hello VBA" nella cella attualmente selezionata. Per un esempio, guarda il seguente esempio di esecuzione.

Quando ho eseguito il codice, la mia cella attualmente selezionata era B2 e il nostro codice ha inserito lo stesso valore nella cella attualmente selezionata.

Ora selezionerò la cella B3 ed eseguirò, anche lì otterremo lo stesso valore.

Un'altra cosa che possiamo fare con la proprietà "selezione" è che possiamo inserire un valore anche in più di una cella. Ad esempio, selezionerò ora l'intervallo di celle da A1 a B5.

Ora se eseguo il codice, per tutte le celle selezionate otterremo il valore "Hello VBA".

Quindi, la semplice differenza tra la specifica dell'indirizzo della cella tramite l'oggetto RANGE e la proprietà Selection è che in Range il codice dell'oggetto inserirà il valore nelle celle specificate esplicitamente.

Ma nell'oggetto Selezione, non importa in quale cella ti trovi, inserirà il valore menzionato in tutte le celle selezionate.

Cose da ricordare qui

  • Non possiamo fornire direttamente il metodo select nella proprietà Selection.
  • RANGE è un oggetto e la selezione è una proprietà.
  • Invece di range, possiamo usare la proprietà CELLS.