Como usar Visual Basic para Aplicativos (VBA) no Excel?

Visual Basic for Application ( VBA ) é uma linguagem de programação que permite estender a funcionalidade do Excel e automatizar tarefas repetitivas. Com o VBA, você pode criar macros, formulários, funções personalizadas e aplicativos interativos. Neste artigo, você aprenderá os fundamentos do VBA no Excel e como usá-lo para realizar operações simples ou complexas.

Como acessar o VBA no Excel?

GetPaidStock.com 64886528e3bbe

Para acessar o VBA no Excel, você precisa habilitar a guia Desenvolvedor na faixa de opções. Para fazer isso, siga estas etapas:

  • Clique no botão Arquivo e depois em Opções.
    arquivo excel do aplicativo img w10
  • Na janela Opções do Excel, clique em Personalizar faixa de opções.
    tth img w10 app excel arquivo opção pessoal fita dev
  • Na lista de guias principais, marque a caixa Desenvolvedor e clique em OK.

Você verá então a guia Desenvolvedor aparecer na faixa de opções. Esta guia contém várias ferramentas relacionadas ao VBA, como o botão Visual Basic, o botão Gravar Macro ou o botão Inserir Controle.

tth img w10 aplicativo excel dev
img w10 aplicativo excel dev vba

O botão Visual Basic abre o Editor Visual Basic (VBE), onde você cria e edita código VBA. O botão Gravar Macro gera automaticamente código VBA que reproduz as ações que você executa no aplicativo. O botão Inserir controle permite adicionar elementos interativos à planilha, como botões, caixas de seleção ou listas suspensas.

Como escrever código VBA no Excel?

Para escrever código VBA no Excel, você deve usar o Editor Visual Basic (VBE). Para abri-lo, clique no botão Visual Basic na guia Desenvolvedor da faixa de opções.

O VBE consiste em várias janelas:

tth img w10 aplicativo excel dev vba 1 1
  • A janela Projeto exibe a estrutura hierárquica de objetos contendo código VBA. Por exemplo, se você tiver uma pasta de trabalho chamada MyWorkbook.xlsm com duas planilhas chamadas Sheet1 e Sheet2, você verá os objetos Sheet1 e Sheet2, bem como um objeto chamado ThisWorkbook aparecer em MyWorkbook.xlsm.
    janela do projeto tth img w10 app excel dev vba
  • A janela Propriedades exibe as propriedades do objeto selecionado na janela Projeto. Por exemplo, se você selecionar o objeto Sheet1, verá suas propriedades como seu nome (Name), sua cor (Tab.Color), seu código (CodeName), etc.
    janela de propriedades tth img w10 app excel dev vba
  • A janela Código exibe o código VBA associado ao objeto selecionado na janela Projeto. Por exemplo, se você selecionar o objeto Sheet1, verá o código VBA que é executado quando você interage com a planilha Sheet1.
    tth img w10 app excel dev código da janela vba
  • A janela Imediata exibe resultados de código VBA ou mensagens de erro. Por exemplo, se você usar a função MsgBox para exibir uma mensagem ao usuário, você verá a mensagem aparecer na janela Imediata.
    janela tth img w10 app excel dev vba

Para escrever código VBA, você deve seguir certas regras de sintaxe:

  • Cada instrução deve terminar com uma nova linha ou dois pontos (:).
  • As palavras-chave da linguagem VBA devem ser escritas em letras maiúsculas ou minúsculas, mas não os nomes de objetos, propriedades ou métodos, que diferenciam maiúsculas de minúsculas.
  • Os comentários devem ser precedidos do apóstrofo (') ou do caracter Rem e devem ser escritos em uma linha separada ou após uma declaração.
  • As sequências de caracteres devem ser colocadas entre aspas duplas (“).
  • Os operadores aritméticos são +, -, *, / e ^ (potência).
  • Os operadores lógicos são And, Or, Not, Xor e Eqv.
  • Os operadores de comparação são =, <>, <, <=, > e >=.
  • As constantes predefinidas são Verdadeiro, Falso, Nulo, Vazio, Nada e vbNullString.

Aqui está um exemplo de código VBA que exibe uma mensagem ao usuário:

Sub Hello() 'Este é um comentário da MsgBox "Olá, sou o Bing!" 'Exibe uma mensagem End Sub 

Como usar funções de planilha do Excel em VBA?

Você pode usar a maioria das funções de planilha do Excel em suas instruções VBA. Para fazer isso, você deve usar a seguinte sintaxe:

Application.WorksheetFunction.FunctionName(argumento1, argumento2, ...)

Por exemplo, se quiser usar a função SOMA para calcular a soma dos valores no intervalo A1:A10, você pode escrever:

Sub Sum() Dim result As Double ' Declara uma variável do tipo Double result = Application.WorksheetFunction.Sum(Range("A1:A10")) ' Atribui o resultado da função SUM à variável MsgBox result ' Exibe o resultado End Sub

Você também pode usar funções personalizadas criadas por você mesmo no VBA. Para fazer isso, você deve usar a seguinte sintaxe:

Função FunctionName(argument1 As Type1, argument2 As Type2, ...) As ReturnType ' Declarações e instruções FunctionName = expressão ' Atribui à função o resultado a ser retornado End Function

Por exemplo, se quiser criar uma função que calcule o quadrado de um número, você pode escrever:

Function Square(number As Double) As Double ' Declara uma função que recebe um número como argumento e retorna um número Square = number * number ' Atribui o quadrado do número à função End Function

Você pode então usar essa função em suas instruções VBA ou em fórmulas do Excel. Por exemplo :

Sub Test() Dim x As Double ' Declara uma variável do tipo Double x = 5 ' Atribui o valor 5 à variável MsgBox Square(x) ' Exibe o quadrado de x End Sub

Como criar macros no Excel?

Uma macro é um conjunto de instruções VBA que são executadas todas de uma vez. Você pode criar macros para automatizar tarefas recorrentes ou complexas no Excel. Existem duas maneiras de criar macros: gravando-as ou escrevendo-as.

Grave uma macro

Gravar uma macro envolve usar o botão Gravar Macro na guia Desenvolvedor da faixa de opções para capturar ações executadas no Excel e convertê-las em código VBA. Esta é a maneira mais simples e rápida de criar uma macro, mas pode produzir código pouco otimizado ou redundante.

Para gravar uma macro, siga estas etapas:

  • Clique no botão Gravar Macro na guia Desenvolvedor da faixa de opções.
    tth img w10 app excel dev salvar macro
  • Na caixa de diálogo Gravar macro, dê um nome à sua macro, escolha um atalho de teclado se desejar, selecione um local para armazenar sua macro (pasta de trabalho ativa, nova pasta de trabalho ou pasta de trabalho pessoal) e escreva uma descrição, se desejar.
    tth img w10 app excel dev salvar macro
  • Clique em OK para iniciar a gravação.
  • Execute as ações que deseja automatizar no Excel. Por exemplo, se você deseja criar uma macro que formate uma tabela, selecione a tabela, estilize-a, classifique-a em ordem alfabética, etc.
  • Clique no botão Parar gravação na guia Desenvolvedor da faixa de opções para finalizar a gravação.

Você pode então executar sua macro usando o atalho de teclado escolhido, clicando no botão Macros na guia Desenvolvedor da Faixa de Opções ou usando o botão Executar no VBE.

Escreva uma macro

Escrever uma macro envolve usar o VBE para digitar diretamente o código VBA que corresponde às ações que você deseja automatizar. Este é o método mais flexível e poderoso para criar uma macro, mas requer conhecimentos de programação.

Para escrever uma macro, siga estas etapas:

  • Abra o VBE clicando no botão Visual Basic na guia Desenvolvedor da faixa de opções.
    img w10 aplicativo excel dev vba
  • Na janela Projeto, selecione o objeto onde deseja armazenar sua macro (pasta de trabalho ativa, nova pasta de trabalho ou pasta de trabalho pessoal).
  • Na janela Código, digite o código VBA que corresponde às ações que você deseja automatizar. Por exemplo, se você deseja criar uma macro que formate uma tabela, digite o seguinte código:
Sub FormatTable() ' Seleciona a tabela Range("A1:D10").Select ' Aplica um estilo à tabela Selection.Style = "Table 1" ' Classifica a tabela em ordem alfabética pela coluna A ActiveWorkbook.Worksheets("Sheet1" ). Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A2:A10") _ , SortOn:=xlSortOnValues, Ordem:=xlAcrescente, DataOption:=xlSortNormal com ActiveWorkbook .Worksheets ("Planilha1").Sort .SetRange Range("A1:D10") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub

Você pode então executar sua macro usando o botão Executar no VBE ou atribuindo a ela um atalho de teclado ou controle.

tth img w10 app excel dev código de teste vba

Perguntas frequentes

Aqui estão algumas perguntas frequentes sobre o uso do VBA no Excel:

O que é VBA e por que usá-lo?

VBA é a versão do Visual Basic fornecida com o Microsoft Office. É uma de programação orientada a objetos que usa sintaxe próxima à linguagem natural. O VBA permite acessar e manipular objetos, propriedades e métodos do Excel usando código. Você pode, portanto, controlar o Excel de uma forma mais precisa e poderosa do que através da interface gráfica.

Usar o VBA tem várias vantagens:

  • Você pode automatizar tarefas repetitivas ou tediosas, como limpeza de dados, formatação de tabelas, criação de gráficos e muito mais.
  • Você pode personalizar o Excel de acordo com suas necessidades específicas, adicionando recursos que não existem no software ou alterando seu comportamento.
  • Você pode interagir com o usuário usando caixas de diálogo, formulários ou mensagens personalizadas.
  • Você pode integrar o Excel com outros aplicativos do Office ou fontes de dados externas, como Outlook, Word, Access, SQL Server, etc.

Como depurar código VBA no Excel?

Para depurar código VBA no Excel, você pode usar ferramentas VBE, como pontos de interrupção, etapas, janela Watch ou janela Locales. Essas ferramentas permitem controlar a execução do código, verificar valores de variáveis ​​e detectar erros.

Como proteger o código VBA no Excel?

Para proteger o código VBA no Excel, você pode bloquear o projeto VBA com uma senha. Para fazer isso, siga estas etapas:

  • Abra o VBE clicando no botão Visual Basic na guia Desenvolvedor da faixa de opções.
  • Na janela Projeto, clique com o botão direito no nome do projeto VBA e escolha Propriedades do projeto VBA.
  • Na caixa de diálogo Propriedades do projeto VBA, clique na guia Proteção.
  • Marque a caixa Bloquear projeto para visualização, digite uma senha e confirme-a.
  • Clique em OK para fechar a caixa de diálogo.
  • Salve e feche a pasta de trabalho.

Como executar uma macro ao abrir ou fechar uma pasta de trabalho?

Para executar uma macro ao abrir ou fechar uma pasta de trabalho, você deve usar os eventos Workbook_Open ou Workbook_BeforeClose. Para fazer isso, siga estas etapas:

  • Abra o VBE clicando no botão Visual Basic na guia Desenvolvedor da faixa de opções.
  • Na janela Projeto, selecione o objeto ThisWorkbook sob o nome da pasta de trabalho.
  • Na janela Código, escolha Pasta de trabalho na lista suspensa Objeto no canto superior esquerdo.
  • Escolha Open ou BeforeClose na lista suspensa Procedimento no canto superior direito.
  • Digite o código VBA que chama a macro que você deseja executar. Por exemplo :
Private Sub Workbook_Open() ' Executa a macro Hello ao abrir a pasta de trabalho Hello End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) ' Executa a macro AuRevoir ao fechar a pasta de trabalho AuRevoir End Sub

Como criar um formulário no Excel com VBA?

Para criar um formulário no Excel com VBA, você deve utilizar o designer de formulários do VBE. Para fazer isso, siga estas etapas:

  • Abra o VBE clicando no botão Visual Basic na guia Desenvolvedor da faixa de opções.
  • Na janela Projeto, clique com o botão direito no nome do projeto VBA e escolha Inserir e depois UserForm.
  • Uma nova janela UserForm é aberta. Você pode adicionar controles como rótulos, caixas de texto, botões, etc. arrastando-os da caixa de ferramentas.
  • Você pode modificar as propriedades dos controles na janela Propriedades ou escrever código VBA para manipular seus eventos na janela Código.
  • Para exibir o formulário, você pode usar o método Show. Por exemplo :
Sub ShowForm() 'Mostra o formulário UserForm1 UserForm1.Show End Sub

Como criar uma função personalizada no Excel com VBA?

Para criar uma função personalizada no Excel com VBA, você deve usar a seguinte sintaxe:

Função FunctionName(argument1 As Type1, argument2 As Type2, ...) As ReturnType ' Declarações e instruções FunctionName = expressão ' Atribui à função o resultado a ser retornado End Function

Por exemplo, se quiser criar uma função que calcule o quadrado de um número, você pode escrever:

Function Square(number As Double) As Double ' Declara uma função que recebe um número como argumento e retorna um número Square = number * number ' Atribui o quadrado do número à função End Function

Você pode então usar essa função em suas instruções VBA ou em fórmulas do Excel. Por exemplo :

Sub Test() Dim x As Double ' Declara uma variável do tipo Double x = 5 ' Atribui o valor 5 à variável MsgBox Square(x) ' Exibe o quadrado de x End Sub

Você também pode usar funções personalizadas criadas por você mesmo no VBA. Para fazer isso, você deve usar a seguinte sintaxe:

Função FunctionName(argument1 As Type1, argument2 As Type2, ...) As ReturnType ' Declarações e instruções FunctionName = expressão ' Atribui à função o resultado a ser retornado End Function

Por exemplo, se quiser criar uma função que calcule o quadrado de um número, você pode escrever:

Function Square(number As Double) As Double ' Declara uma função que recebe um número como argumento e retorna um número Square = number * number ' Atribui o quadrado do número à função End Function

Você pode então usar essa função em suas instruções VBA ou em fórmulas do Excel. Por exemplo :

Sub Test() Dim x As Double ' Declara uma variável do tipo Double x = 5 ' Atribui o valor 5 à variável MsgBox Square(x) ' Exibe o quadrado de x End Sub

Ou

=Quadrado(A1) 'Calcula o quadrado do valor da célula A1

Conclusão

Você aprendeu neste artigo como usar Visual Basic for Application (VBA) no Excel. Você viu o que é VBA e por que usá-lo, como acessar o VBA no Excel, como escrever código VBA no Excel, como usar funções de planilha do Excel no VBA, como criar macros no Excel com VBA, como criar formulários em Excel com VBA e como criar funções personalizadas no Excel com VBA. Entre as funções personalizadas que você pode criar com VBA está fazer uma subtração no Excel . Agora você pode aproveitar o poder de programação do VBA para personalizar e automatizar o Excel conforme necessário.

Artigo anterior Como aprender Python no nível iniciante?
Próximo artigo Como conectar-se à sua caixa postal da Bouygues Telecom?