Declaración de VBA Set

Declaración de Excel VBA Set

VBA Set es una declaración que se usa para asignar cualquier valor, la clave dice un objeto o una referencia a una variable, usamos esta función para definir el parámetro para una determinada variable, por ejemplo, si escribimos Set M = A que significa ahora M La referencia tiene los mismos valores y atributos similares a los que tiene A.

En VBA, un objeto es un núcleo de Excel porque sin objetos no podemos hacer nada. Los objetos son Libro de trabajo, Hoja de trabajo y Rango. Cuando declaramos una variable, necesitamos asignarle un tipo de datos y también podemos asignar objetos como tipos de datos. Para asignar un valor a las variables de objeto declaradas necesitamos utilizar la palabra "SET". La palabra "Conjunto" se utiliza para referirse a un nuevo objeto en VBA, por ejemplo, refiriéndose al rango particular de la hoja de trabajo en particular.

¿Cómo utilizar Excel VBA Set Statement?

Puede descargar esta plantilla de declaración de conjunto de VBA aquí - Plantilla de declaración de conjunto de VBA

# 1 - Establecer declaración con variables de objeto de rango

Por ejemplo, suponga que desea utilizar el rango de A1 a D5 con bastante frecuencia. En lugar de escribir el código como Rango ("A1: D5") cada vez que podemos declarar la variable como rango y establecer la referencia de rango como Rango ("A1: D5")

Paso 1: declare la variable como un objeto Range.

Código:

 Sub Set_Example ()

Atenuar MyRange como rango

End Sub

Paso 2: En el momento en que asignamos el tipo de datos como rango, use la palabra "Establecer".

Código:

 Sub Set_Example () Atenuar MyRange como rango Establecer MyRange = End Sub 

Paso 3: ahora menciona el rango.

Código:

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

Paso 4: Ahora la variable “MyRange” es igual al rango de A1 a D5. Usando esta variable podemos acceder a todas las propiedades y métodos de este rango.

Podemos copiar, agregar un comentario en Excel y hacer muchas otras cosas.

Por ejemplo, he creado algunos números aquí.

Ahora, usando la variable, cambiaré el tamaño de fuente a 12.

Código:

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

Esto cambiará el tamaño de fuente del rango asignado.

De esta manera, podemos hacer muchas cosas con un rango en particular usando la palabra "Establecer".

# 2 - Establecer declaración con variables de objeto de hoja de trabajo

Hemos visto cómo funciona "set" con un objeto de rango en VBA. También funciona exactamente igual que el objeto de la hoja de trabajo.

Supongamos que tiene 5 hojas de trabajo en su libro de trabajo y desea seguir volviendo a la hoja de trabajo en particular, puede establecer ese nombre de hoja de trabajo en la variable de objeto definida.

Por ejemplo, mire el siguiente código.

Código:

 Sub Set_Worksheet_Example () Dim Ws As Worksheet Set Ws = Worksheets ("Hoja de resumen") End Sub 

En el código anterior, la variable "Ws" se define como variable de objeto, y en la siguiente línea, usando la palabra "Establecer", establecemos la variable en la hoja de trabajo llamada "Hoja de resumen".

Ahora, al usar esta variable, podemos hacer todas las cosas asociadas con ella. Eche un vistazo a los dos conjuntos de código a continuación.

# 1 - Sin la palabra "Establecer"

Código:

 Sub Set_Worksheet_Example1 () 'Para seleccionar la hoja Hojas de trabajo ("Hoja de resumen"). Seleccione' Para activar la hoja Hojas de trabajo ("Hoja de resumen"). Active 'Para ocultar la hoja Hojas de trabajo ("Hoja de resumen"). Visible = xlVeryHidden' Para mostrar la hoja Hojas de trabajo ("Hoja de resumen"). Visible = xlVisible End Sub 

Cada vez que he utilizado el objeto de hojas de trabajo para referirme a la hoja “Hoja de resumen”. Esto hace que el código sea tan largo y requiera mucho tiempo para escribirlo.

Como parte del gran código, es frustrante escribir el nombre de la hoja de trabajo de esta manera cada vez que necesita hacer referencia a la hoja de trabajo.

Ahora eche un vistazo a la ventaja de usar la palabra Establecer en código.

# 2 - Con la palabra "Establecer"

Código:

 Sub Set_Worksheet_Example () Dim Ws As Worksheet Set Ws = Worksheets ("Hoja de resumen") 'Para seleccionar la hoja Ws. Seleccione' Para activar la hoja Ws.Activate 'Para ocultar la hoja Ws.Visible = xlVeryHidden' Para mostrar la hoja Ws .Visible = xlVisible End Sub 

En el momento en que establecemos el nombre de la hoja de trabajo, podemos ver el nombre de la variable mientras ingresamos el código como parte de la lista.

# 3 - Establecer declaración con variables de objeto de libro

La verdadera ventaja de la palabra "Establecer" en VBA surge cuando necesitamos hacer referencia a diferentes libros de trabajo.

When we work with different workbooks it is so hard to type in the full name of the workbook along with its file extension.

Assume you have two different workbooks named “Sales Summary File 2018.xlsx” and “Sales Summary File 2019.xlsx” we can set the two workbooks like the below code.

Code:

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

Now variable Wb1 is equal to the workbook named “Sales Summary File 2018.xlsx” and variable Wb2 is equal to the workbook named “Sales Summary File 2019.xlsx”.

Using this variable we can actually access all the properties and methods associated with the workbook.

We can shorten the code like the below.

Without Using Set Keyword to activate the workbook:

Workbooks("Sales Summary File 2018.xlsx").Activate

Using the Set Keyword to activate the workbook:

Wb1.Activate

This makes the writing of the code lot simpler and also once the workbook name is set there is a worry of typo error of the workbook names.