Livro de exercícios do VBA - Exemplos para usar o objeto de pasta de trabalho do Excel VBA

Livro de exercícios do Excel VBA

VBA Workbook é um objeto que faz parte da coleção de objetos Workbooks. Vemos facilmente a diferença entre parte da coleção de objetos e o próprio objeto, a palavra plural de “Workbooks” refere-se a muitos “Workbooks”. No VBA, temos vários outros objetos como planilhas, células e intervalos, gráficos e formas.

Na plataforma do excel, o arquivo do excel é chamado de “pasta de trabalho”, especialmente no VBA. Nunca o chamamos de arquivo; em vez disso, chamamos de "pasta de trabalho".

Ao consultar a pasta de trabalho, podemos realizar todas as tarefas relacionadas a ela. Algumas das tarefas importantes são "Abrir pasta de trabalho", "Salvar pasta de trabalho", "Salvar como pasta de trabalho" e "Fechar pasta de trabalho". Podemos selecionar, ativar as pastas de trabalho que são abertas.

Sintaxe

Agora, veja qual é a sintaxe da pasta de trabalho.

Um índice nada mais é que a pasta de trabalho que você deseja selecionar. Podemos nos referir à pasta de trabalho pelo número da pasta de trabalho ou pelo nome da pasta de trabalho.

Uso de código de objeto de livro de trabalho VBA

Exemplo 1

Por exemplo, tenho dois arquivos abertos agora. O primeiro nome da pasta de trabalho é “Arquivo 1” e o segundo nome da pasta de trabalho é “Arquivo 2”.

Agora estou escrevendo o código do terceiro arquivo. A partir deste arquivo, desejo ativar a pasta de trabalho denominada “Arquivo 1”.

Etapa 1: inicie a macro criando um subprocedimento VBA.

Código:

Sub Workbook_Example1 () End Sub

Etapa 2: Agora selecione o objeto de pasta de trabalho.

Etapa 3: Agora, insira a pasta de trabalho que deseja ativar.

Código:

Sub Workbook_Example1 () Workbooks ("Arquivo 1 End Sub

Etapa 4: depois de inserir o nome da pasta de trabalho, também precisamos inserir a extensão do arquivo. Salvei esta pasta de trabalho como uma pasta de trabalho normal, ou seja, a pasta de trabalho “xlsx” .

Código:

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

Etapa 5: agora, precisamos decidir o que queremos fazer com esta apostila. Insira ponto para ver todas as opções disponíveis com esta pasta de trabalho.

Etapa 6: agora, precisamos ativar a pasta de trabalho, selecione o método como “Ativar”.

Código:

Sub Workbook_Example1 () Workbooks ("Arquivo 1.xlsx"). Ativar End Sub

Não importa em qual pasta de trabalho você está. Isso ativará a pasta de trabalho especificada.

Assim que você seleciona a pasta de trabalho, ela se torna uma “Pasta de trabalho ativa”.

Exemplo 2 - Insira valores na pasta de trabalho

Como eu disse, assim que você seleciona a pasta de trabalho, ela se torna uma pasta de trabalho ativa. Usando a pasta de trabalho ativa, podemos fazer referência à célula.

Na pasta de trabalho ativa, precisamos selecionar a planilha pelo seu nome, ou usaremos a palavra Planilha Ativa.

Na planilha ativa, precisamos selecionar a célula usando o objeto Range.

Código:

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

Quando você executa este código usando a tecla F5 ou manualmente, ele irá inserir a palavra “Hello” na célula A1 da pasta de trabalho “Arquivo 1.xlsx”.

Também podemos usar o código abaixo para fazer o mesmo trabalho.

Código:

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

Isso também inserirá a palavra “Hello” na pasta de trabalho “Arquivo 1.xlsx”.

Exemplo # 3 - Atribuir pasta de trabalho à variável

Também podemos atribuir o tipo de dados como uma “pasta de trabalho” à variável declarada. Declare a variável como pasta de trabalho.

Código:

Subbook_Exemplo2 ()

Dim WB como pasta de trabalho

End Sub

Agora precisamos definir a variável do objeto para o nome da pasta de trabalho usando a palavra “Definir”.

Código:

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

A partir de agora, a variável “WB” contém o nome da pasta de trabalho “Arquivo 1.xlsx”.

Usando o nome da variável, podemos inserir as palavras.

Código:

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 pasta de trabalho para cada WB nas pastas de trabalho WB.Save Next WB End Sub

Quando você executa esse código por meio da tecla F5 ou manualmente, é exibido um pop-up que pede para salvar a pasta de trabalho. Clique em Ok para salvar.

Use o código a seguir para fechar todas as pastas de trabalho, exceto aquela em que você está trabalhando.

Código:

Sub Close_All_Workbooks () Dim WB como pasta de trabalho para cada WB nas pastas de trabalho If WB.Name ThisWorkbook.Name Then WB.Close End If Next WB End Sub

Uma janela pop-up é exibida antes de fechar a pasta de trabalho.

Artigos interessantes...