Come utilizzare l'unione in vba (con esempio)
È possibile utilizzare il metodo Union in VBA per combinare più intervalli in uno solo.
Ecco un modo comune per utilizzare questo metodo nella pratica:
SubUseUnion ()
Set UnionRange = Application.Union(Range("A1:A10"), Range("C1:C10"))
UnionRange.Formula = "=RANDBETWEEN(1, 100)"
End Sub
Questa particolare macro combina l’intervallo A1:A10 e C1:C10 in un unico intervallo, quindi assegna la formula di Excel =RANDBETWEEN(1, 100) a ciascun valore in questo intervallo combinato, che produce un valore casuale compreso tra 1 e 100.
L’esempio seguente mostra come utilizzare nella pratica il metodo Union in VBA.
Esempio: come utilizzare l’Unione in VBA per combinare gli intervalli
Possiamo definire la seguente macro in VBA per utilizzare il metodo Union per combinare gli intervalli A1:A10 e C1:C10 :
SubUseUnion ()
Set UnionRange = Application.Union(Range("A1:A10"), Range("C1:C10"))
UnionRange.Formula = "=RANDBETWEEN(1, 100)"
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Ogni cella negli intervalli A1:A10 e C1:C10 ora contiene la formula =RANDBETWEEN(1, 100) , che restituisce un numero intero casuale compreso tra 1 e 100.
Tieni inoltre presente che possiamo fornire più di due intervalli al metodo Union .
Ad esempio, potremmo creare la seguente macro che utilizza il metodo Unione per combinare tre intervalli diversi, quindi inserire una formula nella cella di ciascun intervallo:
SubUseUnion () Set UnionRange = Application.Union(Range("A1:A10"), Range("C1:C10"), Range("D1:D5" )) UnionRange.Formula = "=RANDBETWEEN(1, 100)" End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
I tre intervalli che abbiamo combinato in uno ora contengono tutti la formula RANDBETWEEN .
Nota : puoi trovare la documentazione completa per il metodo VBA Union qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
Come utilizzare l’intersezione in VBA
Come contare il numero di colonne utilizzate in VBA
Come contare il numero di fogli in una cartella di lavoro in VBA