VBA Union

Unione VBA di Excel

L'unione in VBA è simile all'unione in altri linguaggi di programmazione, in VBA usiamo unione per combinare due o più di due intervalli per eseguire diversi set di operazioni su di essi, l'istruzione utilizzata per questo è essa stessa unione ed è chiamata metodo di unione , ad esempio, union (Range (B2: C7), Range (D2: E7)). seleziona e questo metodo selezionerà le celle.

Il metodo Union esegue l'attività di creare un'unione di due o più intervalli e restituisce il risultato come oggetto RANGE. Funziona esattamente come nell'esempio seguente con l'oggetto VBA RANGE.

Sintassi

Ora dai un'occhiata alla sintassi del metodo UNION.

Dobbiamo fornire un minimo di 2 intervalli.

  • Arg 1: questo è il primo intervallo di celle di cui abbiamo bisogno per creare l'unione.
  • Arg 2: questo è il secondo intervallo di celle di cui dobbiamo creare un'unione.

I primi due parametri sono obbligatori, dopo aver menzionato due intervalli di celle, tutti gli altri argomenti diventano opzionali.

Quando i dati sono sparsi in pezzi nelle celle, dobbiamo combinare insieme tutto l'intervallo di dati in uno per eseguire un'attività comune. Possiamo creare un'unione di intervallo sparso a uno per eseguire un'attività simile per tutti gli intervalli di unione.

Per selezionare più intervalli di celle di solito possiamo utilizzare l'oggetto RANGE. Ad esempio, se vogliamo selezionare l'intervallo di celle da A1 a B5 e da B3 a D5, possiamo scrivere il codice VBA come di seguito.

Codice:

 Sub Union_Example1 () Union (Range ("A1: B5"), Range ("B3: D5")). Seleziona End Sub 

Questo selezionerebbe l'intervallo di celle come l'immagine sotto.

Come possiamo vedere nell'immagine sopra, il primo intervallo è selezionato da A1 a B5 e il secondo intervallo è selezionato da B3 a D5.

Questa è la tecnica comune che tutti abbiamo utilizzato durante la codifica. Tuttavia, questo non è l'unico metodo che abbiamo nella codifica in VBA, possiamo anche utilizzare un altro metodo chiamato "unione" per creare un'unione di due o più intervalli.

Come utilizzare il metodo di unione VBA per unire più intervalli?

Puoi scaricare questo modello Excel VBA Union qui - Modello Excel VBA Union

Esempio 1

Eseguiamo la stessa ripresa dell'esempio precedente, ma questa volta utilizzando il metodo UNION.

Passaggio 1: aprire la funzione UNION nella sottoprocedura.

Codice:

 Sub Union_Example1 () Union (End Sub 

Passaggio 2: menziona il primo intervallo di celle utilizzando l'oggetto RANGE. In questo caso, sto menzionando il primo intervallo di celle da A1 a B5 .

Codice:

 Sub Union_Example1 () Union (Range ("A1: A5"), End Sub 

Passaggio 3 - Ora menziona il secondo intervallo di celle usando l'oggetto RANGE, in questo caso, sto menzionando l'intervallo di celle da B3 a D5 .

Codice:

 Sub Union_Example1 () Union (Range ("A1: A5"), Range ("B3: B5")) End Sub 

Passaggio 4: dopo aver creato l'unione di questo intervallo di celle, dobbiamo decidere cosa fare con questo intervallo di unione di celle. Inserisci il punto (.) Per visualizzare l'elenco IntelliSense.

Codice:

Sub Union_Example1 () Union (Range ("A1: A5"), Range ("B3: B5")). End Sub

Passaggio 5: possiamo vedere tutte le proprietà e i metodi disponibili di questi intervalli.

Per questo esempio, cambierò il colore interno delle celle di unione. Per questo devo prima selezionare la proprietà Interior.

Codice:

 Sub Union_Example1 () Union (Range ("A1: A5"), Range ("B3: B5")). Interior End Sub 

Passaggio 6 - Con la proprietà interna, possiamo fare molte cose, ma poiché dobbiamo cambiare il colore delle celle di unione selezionerò la proprietà Colore.

Codice:

 Sub Union_Example1 () Union (Range ("A1: A5"), Range ("B3: B5")). Interior.Color End Sub 

Passaggio 7: ora dobbiamo impostare la proprietà del colore. Userò una proprietà dell'indice di colore incorporata come vbGreen.

Codice:

 Sub Union_Example1 () Union (Range ("A1: A5"), Range ("B3: B5")). Interior.Color = vbGreen End Sub 

Passaggio 8: ora, se eseguo, i colori del codice delle celle di unione verranno modificati in colore verde.

In questo modo utilizzando il metodo Union, possiamo creare unisono di due o più intervalli di celle.

Esempio n. 2: utilizzare le variabili per memorizzare l'intervallo di celle

Quasi tutti i programmatori utilizzano variabili per memorizzare il riferimento dell'intervallo di celle. Per un esempio, guarda il codice seguente.

Codice:

 Sub Union_Example2 () Dim Rng1 As Range Dim Rng2 As Range Set Rng1 = Range ("A1: B5") Set Rng2 = Range ("B3: D5") Union (Rng1, Rng2) .Interior.Color = vbGreen End Sub 

Per prima cosa ho dichiarato due variabili come Range.

Dim Rng1 As Range

Dim Rng2 As Range

Quindi ho impostato il riferimento per queste due variabili.

Imposta Rng1 = Intervallo ("A1: B5")

Imposta Rng2 = Range ("B3: D5")

Ora la variabile rng1 contiene il riferimento di Range ("A1: B5") e la seconda variabile rng2 contiene il riferimento di Range ("B3: D5").

Quindi ho applicato la funzione UNION per cambiare il colore interno di questo intervallo di celle.

Anche questo funziona esattamente come il precedente, ma l'uso di variabile rende il codice molto flessibile da usare.

Errore con la funzione di unione

As I told all the references should be mandatory for the UNION method. For an example look at the below code.

Code:

 Sub Union_Example3() Dim Rng1 As Range Dim Rng2 As Range Dim Rng3 As Range Set Rng1 = Range("A1:B5") Set Rng2 = Range("B3:D5") Union(Rng1, Rng2, Rng3).Interior.Color = vbGreen End Sub 

This is similar to the previous but here I have declared one more variable as Range.

Dim Rng3 As Range

But I have not set the reference to this variable, rather I just supplied the variable to the UNION function.

Union(Rng1, Rng2, Rng3).Interior.Color = vbGreen

If I run this code we will get the error like the below.

This is because whatever the variable we supply to the argument should hold some reference of the cells in the worksheet we are working on.