Declaración de conjunto de VBA - ¿Cómo asignar valores a variables de objeto?

Tabla de contenido

Declaración de Excel VBA Set

VBA Set es una declaración que se usa para asignar cualquier valor, la tecla 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 usar 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?

# 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, 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. Con 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, propósito, 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 volver 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 una variable de objeto, y en la siguiente línea, mediante el uso de la palabra "Establecer", establecemos la variable en la hoja de trabajo llamada "Hoja de resumen".

Now by using this variable, we can do all the things associated with it. Take a look at the below two sets of code.

#1 - Without “Set” Word

Code:

Sub Set_Worksheet_Example1() 'To select the sheet Worksheets("Summary Sheet").Select 'To Activate the sheet Worksheets("Summary Sheet").Activate 'To hide the sheet Worksheets("Summary Sheet").Visible = xlVeryHidden 'To unhide the sheet Worksheets("Summary Sheet").Visible = xlVisible End Sub

Every time I have used the worksheets object to refer to the sheet “Summary Sheet,” This makes the code so lengthy and requires a lot of time to type.

As part of the huge code, it is frustrating to type the worksheet name like this every time you need to reference the worksheet.

Now take a look at the advantage of using the word Set in Code.

#2 - With “Set” Word

Code:

Sub Set_Worksheet_Example() Dim Ws As Worksheet Set Ws = Worksheets("Summary Sheet") 'To select the sheet Ws.Select 'To Activate the sheet Ws.Activate 'To hide the sheet Ws.Visible = xlVeryHidden 'To unhide the sheet Ws.Visible = xlVisible End Sub

The moment we set the worksheet name, we can see the variable name while entering the code as part of the list.

#3 - Set Statement with Workbook Object Variables

The real advantage of the word “Set” in VBA arises when we need to reference different workbooks.

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 ("Archivo de resumen de ventas 2018.xlsx") Set Wb2 = Workbooks ("Archivo de resumen de ventas 2019.xlsx") End Sub

Ahora la variable Wb1 es igual al libro de trabajo llamado "Archivo de resumen de ventas 2018.xlsx" y la variable Wb2 es igual al libro de trabajo llamado "Archivo de resumen de ventas 2019.xlsx".

Usando esta variable, podemos acceder a todas las propiedades y métodos asociados con el libro de trabajo.

Podemos acortar el código como se muestra a continuación.

Sin usar Establecer palabra clave para activar el libro de trabajo:

Libros de trabajo ("Archivo de resumen de ventas 2018.xlsx"). Activar

Usando la palabra clave Establecer para activar el libro de trabajo:

Wb1.Activate

Esto simplifica mucho la escritura del código y, además, una vez que se establece el nombre del libro, existe la preocupación de que se produzcan errores tipográficos en los nombres del libro.

Articulos interesantes...