Libro de trabajo de VBA - Ejemplos para usar el objeto de libro de Excel VBA

Tabla de contenido

Libro de Excel VBA

VBA Workbook es un objeto que forma parte de la colección de objetos Workbooks. Vemos fácilmente la diferencia entre parte de la colección de objetos y el objeto en sí, la palabra plural de "Workbooks" se refiere a que tiene muchos "Workbook". En VBA, tenemos varios otros objetos como hojas de trabajo, celdas y rangos, gráficos y formas.

En la plataforma de Excel, el archivo de Excel se denomina "Libro de trabajo", especialmente en VBA. Nunca lo llamamos archivo; más bien, lo llamamos "Libro de trabajo".

Al consultar el libro de trabajo, podemos hacer todas las tareas relacionadas con él. Algunas de las tareas importantes son "Abrir libro de trabajo", "Guardar libro de trabajo", "Guardar como libro de trabajo" y "Cerrar libro de trabajo". Podemos seleccionar, activar los libros de trabajo que se abren.

Sintaxis

Ahora, observe cuál es la sintaxis del Libro de trabajo.

Un índice no es más que qué libro de trabajo desea seleccionar. Podemos hacer referencia al libro de trabajo por número de libro de trabajo o por nombre de libro de trabajo.

Uso del código de objeto de libro de trabajo de VBA

Ejemplo 1

Por ejemplo, tengo dos archivos abiertos en este momento. El primer nombre de libro de trabajo es "Archivo 1" y el segundo nombre de libro de trabajo es "Archivo 2".

Ahora estoy escribiendo el código en el tercer archivo. Desde este archivo, quiero activar el libro de trabajo llamado "Archivo 1".

Paso 1: Inicie la macro creando un subprocedimiento de VBA.

Código:

Sub Workbook_Example1 () End Sub

Paso 2: Ahora seleccione el objeto del libro de trabajo.

Paso 3: Ahora, ingrese el libro de trabajo que queremos activar.

Código:

Sub Workbook_Example1 () Workbooks ("Archivo 1 End Sub

Paso 4: Después de ingresar el nombre del libro de trabajo, también debemos ingresar la extensión del archivo. He guardado este libro de trabajo como un libro de trabajo normal, es decir, un libro de trabajo "xlsx" .

Código:

Sub Workbook_Example1 () Workbooks ("Archivo 1.xlsx") End Sub

Paso 5: Ahora, debemos decidir qué queremos hacer con este libro de trabajo. Ingrese un punto para ver todas las opciones disponibles con este libro.

Paso 6: Ahora, debemos activar el libro de trabajo, seleccionar el método como "Activar".

Código:

Sub Workbook_Example1 () Workbooks ("Archivo 1.xlsx"). Activar End Sub

No importa en qué libro de trabajo se encuentre. Se activará el libro de trabajo especificado.

Tan pronto como seleccione el libro de trabajo, se convertirá en un "Libro de trabajo activo".

Ejemplo n. ° 2: ingresar valores en el libro de trabajo

Como dije tan pronto como selecciona el libro de trabajo, se convierte en un Libro de trabajo activo. Usando Active Workbook, podemos hacer referencia a la celda.

En el libro de trabajo activo, debemos seleccionar la hoja por su nombre, o de lo contrario usamos la palabra Hoja activa.

En la hoja de trabajo activa, debemos seleccionar la celda usando el objeto Range.

Código:

Sub Workbook_Example1 () Workbooks ("Archivo 1.xlsx"). Activar ActiveWorkbook.ActiveSheet.Range ("A1"). Valor = "Hola" End Sub

Cuando ejecute este código usando la tecla F5 o manualmente, insertará la palabra "Hola" en la celda A1 en el libro de trabajo "Archivo 1.xlsx".

We can also use the below code to do the same job.

Code:

Sub Workbook_Example1() Workbooks("File 1.xlsx").ActiveSheet.Range("A1").Value = "Hello" End Sub

This will also insert the word “Hello” to the workbook “File 1.xlsx.”

Example #3 - Assign Workbook to Variable

We can also assign the data type as a “workbook” to the declared variable. Declare the variable as Workbook.

Code:

Sub Workbook_Example2()

Dim WB As Workbook

End Sub

Now we need to set the object variable to the workbook name by using the word “Set.”

Code:

Sub Workbook_Example2() Dim WB As Workbook Set WB = Workbooks("File 1.xlsx") End Sub

From now onwards, the variable “WB” holds the name of the workbook “File 1.xlsx”.

Using the variable name, we can insert the words.

Code:

Sub Workbook_Example2() Dim WB As Workbook Set WB = Workbooks("File 1.xlsx") WB.Worksheets("Sheet1").Range("A1") = "Hello" WB.Worksheets("Sheet1").Range("B1") = "Good" WB.Worksheets("Sheet1").Range("C1") = "Morning" End Sub

Run this code manually or use shortcut key F5 and see the result, as shown in the below screenshot.

WB.Worksheets("Sheet1").Range("A1") = "Hello"

Here WB is referencing the workbook, in that workbook, we are referencing the worksheet Sheet1 by using the Worksheets object. In that worksheet cell, A1 is equal to the value of “Hello.”

We can also reference the workbook by index number as well. For example, look at the below code.

Code:

Sub Workbook_Example3() Workbooks(1).Activate Workbooks(2).Activate Workbooks(3).Activate End Sub

Here Workbooks (1) means whichever the workbook first on the list, like this similarly Workbooks (2) refers to the second workbook, and Workbooks (3) refers to the third workbook.

The main problem with this index number referencing is we don’t know exactly which workbook activated. It is dangerous to use index numbers.

Example #4 - For Each Loop for Workbook Object

As I told in the beginning, the workbook is a collection object of Workbooks in VBA. Whenever we want to perform the same kind of activity for all the opened workbooks, we need to use For Each loop in VBA.

For Each Loop is the loop for all the objects in VBA. Use the below code to save all the opened workbooks.

Code:

Sub Save_All_Workbooks () Dim WB como libro de trabajo para cada WB en los libros de trabajo WB.Save Next WB End Sub

Cuando ejecuta este código a través de la tecla F5 o manualmente, aparece una ventana emergente que solicita guardar el libro de trabajo. Haga clic en Aceptar para guardar.

Use el siguiente código para cerrar todos los libros de trabajo excepto el que está trabajando.

Código:

Sub Close_All_Workbooks () Dim WB como libro de trabajo para cada WB en libros de trabajo Si WB.Name ThisWorkbook.Name Entonces WB.Close End If Next WB End Sub

Aparece una ventana emergente antes de cerrar el libro.

Articulos interesantes...