VBA Set Statemment | Com assignar valors a variables d'objecte?

Declaració del conjunt VBA d'Excel

VBA Set és una declaració que s’utilitza per assignar qualsevol clau de valor diu que un objecte o una referència a una variable, utilitzem aquesta funció per definir el paràmetre d’una determinada variable, per exemple, si escrivim Set M = A que significa que ara la referència M té els mateixos valors i atributs similars al que té A.

A VBA, un objecte és un nucli de l’excel perquè sense objectes no podem fer res. Els objectes són el llibre, el full de treball i l’interval. Quan declarem una variable, hem d'assignar-li un tipus de dades i també podem assignar objectes com a tipus de dades. Per assignar un valor a les variables objecte declarades, hem d'utilitzar la paraula "SET". La paraula "Conjunt" s'utilitza per referir-se a un objecte nou a VBA, per exemple, per referir-se a l'interval concret del full de treball concret.

Com s'utilitza la declaració del conjunt VBA d'Excel?

Podeu descarregar aquesta plantilla de declaració de conjunt VBA aquí - Plantilla de declaració de conjunt VBA

# 1 - Establir sentència amb variables d'objecte d'interval

Per exemple, suposem que voleu utilitzar l'interval A1 a D5 amb força freqüència. En lloc d’escriure el codi com a rang ("A1: D5") cada vegada que podem declarar la variable com a rang i establir la referència de rang com a rang ("A1: D5")

Pas 1: Declareu la variable com a objecte Range.

Codi:

 Subconjunt_Exemple ()

Dismineix MyRange com a rang

Finalitzar sub

Pas 2: En el moment que assignem el tipus de dades com a interval, utilitzeu la paraula "Conjunt".

Codi:

 Subconjunt_Exemple () Disminueix el meu rang com a conjunt Conjunt MyRange = Final sub 

Pas 3: Ara mencioneu el rang.

Codi:

 Sub Set_Example () Dim MyRange As Range Defineix MyRange = Range ("A1: D5") End Sub 

Pas 4: Ara la variable "MyRange" és igual a l'interval A1 a D5. Mitjançant aquesta variable podem accedir a totes les propietats i mètodes d’aquest interval.

Podem copiar, afegir un comentari a Excel i fer moltes altres coses.

Per exemple, he creat alguns números aquí.

Ara amb la variable canviaré la mida de la font a 12.

Codi:

 Subconjunt_Exemple () Dim MyRange As Range Defineix MyRange = Range ("A1: D5") MyRange.Font.Size = 12 End Sub 

Això canviarà la mida de la font de l’interval assignat.

Així, podem fer moltes coses amb un interval concret utilitzant la paraula "Conjunt".

# 2 - Establir sentència amb variables d'objecte del full de treball

Hem vist com funciona “set” amb un objecte d’interval a VBA. Funciona exactament igual que l'objecte del full de càlcul.

Suposem que teniu cinc fulls de treball al vostre llibre i voleu tornar al full de càlcul en concret. Podeu establir el nom del full de càlcul a la variable d'objecte definida.

Per exemple, mireu el codi següent.

Codi:

 Sub Set_Worksheet_Example () Dim Ws As Worksheet Set Ws = Worksheets ("Full de resum") End Sub 

Al codi anterior, la variable "Ws" definida com a variable objecte i, a la següent línia, mitjançant la paraula "Establir", establim la variable al full de treball anomenat "Full de resum".

Ara, utilitzant aquesta variable, podem fer totes les coses que s’hi associen. Mireu els dos conjunts de codi següents.

# 1 - Sense la paraula "Establir"

Codi:

 Sub Set_Worksheet_Example1 () 'Per seleccionar els fulls de treball del full ("Full de resum"). Seleccioneu' Per activar els fulls de treball del full ("Full de resum"). Activeu 'Per ocultar els fulls de treball del full ("Full de resum"). Visible = xlVeryHidden' To mostreu els fulls de treball del full ("Full de resum"). Visible = xlVisible End Sub 

Cada vegada que he utilitzat l'objecte fulls de treball per referir-me al full "Full resum". Això fa que el codi sigui tan llarg i requereixi molt de temps per escriure.

Com a part de l’enorme codi, és frustrant escriure el nom del full de càlcul així cada vegada que necessiteu fer referència al full de treball.

Ara mireu l’avantatge d’utilitzar la paraula Establir en codi.

# 2 - Amb la paraula "Establir"

Codi:

 Sub Set_Worksheet_Example () Dim Ws As Worksheet Set Ws = Worksheets ("Full de resum") "Per seleccionar el full Ws. Seleccioneu" Per activar el full Ws.Activar "Per amagar el full Ws.Visible = xlVeryHidden" Per mostrar el full Ws .Visible = xlVisible End Sub 

En el moment que establim el nom del full de càlcul, podem veure el nom de la variable mentre introduïm el codi com a part de la llista.

# 3 - Establir una sentència amb variables d'objecte del llibre de treball

L'avantatge real de la paraula "Conjunt" a VBA sorgeix quan hem de fer referència a diferents llibres de treball.

Quan treballem amb diferents llibres de treball, és tan difícil escriure el nom complet del llibre juntament amb la seva extensió de fitxer.

Suposem que teniu dos llibres de treball diferents anomenats "Fitxer de resum de vendes 2018.xlsx" i "Fitxer de resum de vendes 2019.xlsx", podem establir els dos llibres de treball com el codi següent.

Codi:

 Sub Set_Workbook_Example1 () Dim Wb1 As Workbook Dim Wb2 As Workbook Set Wb1 = Llibres de treball ("Sales Summary File 2018.xlsx") Establir Wb2 = Workbooks ("Sales Summary File 2019.xlsx") End Sub 

Ara la variable Wb1 és igual al llibre de treball anomenat "Sales Summary File 2018.xlsx" i la variable Wb2 és igual al llibre de treball anomenat "Sales Summary File 2019.xlsx".

Mitjançant aquesta variable podem accedir a totes les propietats i mètodes associats al llibre.

Podem escurçar el codi com el següent.

Sense utilitzar Set Keyword per activar el llibre:

Quaderns de treball ("Fitxer resum de vendes 2018.xlsx"). Activeu

Utilitzeu la paraula clau establerta per activar el llibre:

Wb1.Activa

Això fa que l’escriptura del codi sigui molt més senzilla i, a més, un cop establert el nom del llibre, hi ha un problema d’error d’escriptura dels noms del llibre.