Unió VBA | Uniu-vos a diversos rangs mitjançant Excel VBA Union

Excel VBA Union

Unió a VBA és similar a la unió en altres llenguatges de programació, a VBA utilitzem la unió per combinar dos o més de dos intervals per realitzar diferents conjunts d’operacions, la declaració que s’utilitza per a això és la unió i es diu com a mètode d’unió, per exemple , union (Range (B2: C7), Range (D2: E7)). seleccioneu i aquest mètode seleccionarà les cel·les.

El mètode Union realitza la tasca de crear una unió de dos o més intervals i retorna el resultat com a objecte RANGE. Funciona exactament igual que l'exemple següent amb l'objecte VBA RANGE.

Sintaxi

Vegeu ara la sintaxi del mètode UNION.

Hem de subministrar un mínim de 2 gammes.

  • Arg 1: Aquest és el primer rang de cel·les que necessitem per crear la unió.
  • Arg 2: Aquest és el segon rang de cel·les que necessitem per crear una unió.

Els dos primers paràmetres són obligatoris, després d’esmentar dos intervals de cel·les, tots els altres arguments passen a ser opcionals.

Quan les dades es dispersen en trossos a les cel·les, hem de combinar tots els rangs de dades en un per realitzar una tasca comuna. Podem crear una unió de rang dispers a una per realitzar una tasca similar per a tots els rangs d’unió.

Per seleccionar diversos rangs de cel·les, normalment podem utilitzar objectes RANGE. Per exemple, si volem seleccionar l'interval de cel·les d'A1 a B5 i de B3 a D5, podem escriure el codi VBA com es mostra a continuació.

Codi:

 SubUnió_Exemple1 () Unió (rang ("A1: B5"), rang ("B3: D5")). Seleccioneu Finalitza sub 

Això seleccionaria l'interval de cel·les com la imatge següent.

Com podem veure a la imatge anterior, el primer rang es selecciona d’A1 a B5 i el segon rang, de B3 a D5.

Aquesta és la tècnica habitual que hem utilitzat durant la codificació. Tot i això, aquest no és l’únic mètode que tenim per codificar a VBA, també podem utilitzar un mètode més anomenat “unió” per crear una unió de dos o més intervals.

Com s'utilitza el mètode VBA Union per unir diversos intervals?

Podeu descarregar aquesta plantilla VBA Union Excel aquí: plantilla VBA Union Excel

Exemple 1

Realitzem la mateixa presa que hem fet a l'exemple anterior, però aquesta vegada mitjançant el mètode UNION.

Pas 1 - Funció UNION oberta al subprocés.

Codi:

 SubUnió_Exemple1 () Unió (final Sub 

Pas 2: Esmenta el primer rang de cel·les amb l’objecte RANGE. En aquest cas, menciono el primer rang de cel·les com A1 a B5.

Codi:

 SubUnió_Exemple1 () Unió (rang ("A1: A5"), finalització de sub 

Pas 3: Ara mencioneu el segon rang de cel·les que utilitza l'objecte RANGE, en aquest cas, menciono el rang de cel·les com a B3 a D5.

Codi:

 SubUnió_Exemple1 () Unió (Interval ("A1: A5"), Interval ("B3: B5")) Final Sub 

Pas 4: Després de crear la unió d’aquest rang de cèl·lules, hem de decidir què hem de fer amb aquest rang de cèl·lules. Posa punt (.) per veure la llista IntelliSense.

Codi:

 SubUnió_Exemple1 () Unió (rang ("A1: A5"), rang ("B3: B5")). Finalitzar sub 

Pas 5: Podem veure totes les propietats i mètodes disponibles d’aquests intervals.

Per a aquest exemple, canviaré el color interior de les cel·les d’unió. Per a això, primer he de seleccionar la propietat Interior.

Codi:

 SubUnió_Exemple1 () Unió (rang ("A1: A5"), rang ("B3: B5")). Interior final sub 

Pas 6: Amb la propietat interior, podem fer moltes coses, però com que hem de canviar el color de les cel·les d’unió, seleccionaré la propietat Color.

Codi:

 SubUnió_Exemple1 () Unió (rang ("A1: A5"), rang ("B3: B5")). Interior.Color final Sub 

Pas 7: Ara hem d’establir la propietat del color. Utilitzaré una propietat d'índex de color integrada com a vbGreen.

Codi:

 SubUnió_Exemple1 () Unió (rang ("A1: A5"), rang ("B3: B5")). Interior.Color = vbGreen End Sub 

Pas 8: Ara, si executo, els colors del codi de les cel·les de la unió es canviaran a color verd.

Igual que mitjançant el mètode Union, podem crear uníson de dos o més rangs de cel·les.

Exemple 2: utilitzeu variables per emmagatzemar l'interval de cel·les

La majoria de tots els codificadors utilitzen variables per emmagatzemar la referència del rang de cel·les. Per obtenir un exemple, mireu el codi següent.

Codi:

 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 

Primer he declarat dues variables com a Range.

Dim Rng1 com a rang

Dim Rng2 com a rang

Després he establert la referència per a aquestes dues variables.

Estableix Rng1 = Rang ("A1: B5")

Estableix Rng2 = Rang ("B3: D5")

Ara la variable rng1 conté la referència del rang ("A1: B5") i la segona variable rng2 conté la referència del rang ("B3: D5").

Després he aplicat la funció UNION per canviar el color interior d’aquest rang de cel·les.

Això també funciona exactament igual que l'anterior, però l'ús de variables fa que el codi sigui molt flexible.

Error amb la funció d'unió

Com he dit, totes les referències haurien de ser obligatòries per al mètode UNION. Per obtenir un exemple, mireu el codi següent.

Codi:

 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 

Això és similar a l'anterior, però aquí he declarat una variable més com a Range.

Dim Rng3 com a rang

Però no he establert la referència a aquesta variable, sinó que he subministrat la variable a la funció UNION.

Unió (Rng1, Rng2, Rng3) .Interior.Color = vbGreen

Si executo aquest codi, obtindrem l'error com el següent.

Això es deu al fet que sigui quina sigui la variable que proporcionem a l'argument, hauria de contenir alguna referència de les cel·les del full de treball en què estem treballant.