Como usar o Visual Basic for Applications (VBA) no Excel?

Visual Basic for Applications ( 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á o básico do VBA no Excel e como usá-lo para realizar operações simples ou complexas.

Como faço para acessar o VBA no Excel?

GetPaidStock.com 64886528e3bbe

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

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

Em seguida, você verá a guia Desenvolvedor aparecer na faixa de opções. Essa guia contém diversas ferramentas relacionadas ao VBA, como o botão Visual Basic, o botão Gravar Macro e o botão Inserir Controle.

tth img w10 app excel dev
tth img w10 app excel dev vba

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

Como faço para escrever código VBA no Excel?

Para escrever código VBA no Excel, você precisa usar o Editor do 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 app excel dev vba 1 1
  • A janela Projeto exibe a estrutura hierárquica dos objetos que contêm código VBA. Por exemplo, se você tiver uma pasta de trabalho chamada MyWorkbook.xlsm com duas planilhas chamadas Sheet1 e Sheet2, verá os objetos Sheet1 e Sheet2 aparecerem em MyWorkbook.xlsm, bem como um objeto chamado ThisWorkbook.
    tth img w10 app excel dev vba fenetre projeto
  • A janela Propriedades exibe as propriedades do objeto selecionado na janela Projeto. Por exemplo, se você selecionar o objeto Planilha1, verá suas propriedades, como nome (Nome), cor (Tab.Cor), código (NomeDoCódigo), etc.
    tth img w10 app excel dev vba propriedade da janela
  • A janela Código exibe o código VBA associado ao objeto selecionado na janela Projeto. Por exemplo, se você selecionar o objeto Planilha1, verá o código VBA que é executado quando você interage com a planilha Planilha1.
    tth img w10 app excel dev vba window code
  • A janela Imediata exibe os resultados do código VBA ou mensagens de erro. Por exemplo, se você usar a função MsgBox para exibir uma mensagem ao usuário, verá a mensagem aparecer na janela Imediata.
    tth img w10 app excel dev vba fenetre

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

  • Cada instrução deve terminar com uma quebra de linha ou um caractere de dois pontos (:).
  • As palavras-chave da linguagem VBA devem ser escritas em 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 pelo caractere apóstrofo (') ou Rem e devem ser escritos em uma linha separada ou após uma instrução.
  • Sequências de caracteres devem ser delimitadas por aspas duplas (" ).
  • Os operadores aritméticos são +, -, *, / e ^ (potência).
  • Os operadores lógicos são E, OU, NÃO, OU EXCLUSIVO e IGUAL.
  • Os operadores de comparação são =, <>, <, <=, > e >=.
  • As constantes predefinidas são True, False, Null, Empty, Nothing e vbNullString.

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

Sub Hello() ' Este é um comentário MsgBox "Olá, eu 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 isso, você deve usar a seguinte sintaxe:

Application.WorksheetFunction.FunctionName(argument1, argument2, ...)

Por exemplo, se você 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 que você mesmo cria em VBA. Para isso, você deve usar a seguinte sintaxe:

Função NomeDaFunção(argumento1 Como Tipo1, argumento2 Como Tipo2, ...) Como TipoDeRetorno ' Declarações e instruções NomeDaFunção = expressão ' Atribui o resultado a ser retornado à função Fim da Função

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

Função Square(número As Double) As Double ' Declara uma função que recebe um número como argumento e retorna um número Square = número * número ' 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 suas 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 faço para criar macros no Excel?

Uma macro é um conjunto de instruções VBA que é executado uma única 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 as ações que você executa no Excel e convertê-las em código VBA. Esta é a maneira mais simples e rápida de criar uma macro, mas pode gerar código mal otimizado ou redundante.

Para gravar uma macro, siga estes passos:

  • Clique no botão Gravar Macro na guia Desenvolvedor da faixa de opções.
    tth img w10 app excel desenvolvedor 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 desenvolvedor salvar macro
  • Clique em OK para iniciar a gravação.
  • Execute as ações que deseja automatizar no Excel. Por exemplo, se quiser criar uma macro que formate uma tabela, selecione a tabela, aplique um estilo a ela, classifique-a alfabeticamente, etc.
  • Clique no botão Parar Gravação na guia Desenvolvedor da faixa de opções para encerrar a gravação.

Em seguida, você pode 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. É o método mais flexível e poderoso para criar uma macro, mas requer conhecimento de programação.

Para escrever uma macro, siga estes passos:

  • Abra o VBE clicando no botão Visual Basic na guia Desenvolvedor da faixa de opções.
    tth img w10 app 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 correspondente às ações que você deseja automatizar. Por exemplo, se você quiser 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 = "Tabela 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, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet1").Sort .SetRange Range("A1:D10") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub

Em seguida, você pode executar sua macro usando o botão Executar no VBE ou atribuindo a ela um atalho de teclado ou um controle.

tth img w10 app excel dev vba test code

Perguntas frequentes

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

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

VBA é a versão do Visual Basic incluída no Microsoft Office. É uma de programação orientada a objetos que usa uma sintaxe próxima à linguagem natural. O VBA permite acessar e manipular objetos, propriedades e métodos do Excel por meio de código. Isso proporciona um controle mais preciso e poderoso sobre o Excel do que por meio da interface gráfica.

O uso de VBA oferece diversas vantagens:

  • Você pode automatizar tarefas repetitivas ou tediosas, como limpeza de dados, formatação de tabelas, criação de gráficos, etc.
  • Você pode personalizar o Excel para atender às suas necessidades específicas, adicionando recursos que não existem no software ou modificando 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 do VBE, como pontos de interrupção, execução passo a passo, a janela Inspeção ou a janela Configurações Locais. Essas ferramentas permitem controlar a execução do código, verificar valores de variáveis ​​e identificar 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 estes passos:

  • 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 do mouse no nome do projeto VBA e escolha Propriedades do Projeto VBA.
  • Na caixa de diálogo de propriedades do projeto VBA, clique na guia Proteção.
  • Marque a caixa para bloquear o projeto e digite uma senha, depois confirme-a.
  • Clique em OK para fechar a caixa de diálogo.
  • Salve e feche a planilha.

Como faço para executar uma macro ao abrir ou fechar uma pasta de trabalho?

Para executar uma macro quando uma pasta de trabalho é aberta ou fechada, 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 abaixo do nome da pasta de trabalho.
  • Na janela Código, escolha Pasta de Trabalho na lista suspensa Objeto, no canto superior esquerdo.
  • Selecione Abrir ou Antes de Fechar 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 Bonjour quando a pasta de trabalho é aberta Bonjour End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) ' Executa a macro AuRevoir quando a pasta de trabalho é fechada AuRevoir End Sub

Como criar um formulário no Excel usando VBA?

Para criar um formulário no Excel usando VBA, você precisa usar o Designer de Formulários VBA. Para isso, siga estes passos:

  • 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 do mouse no nome do projeto VBA e escolha Inserir e, em seguida, Formulário de Usuário.
  • Uma nova janela UserForm será 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() ' Exibe o formulário UserForm1 UserForm1.Show End Sub

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

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

Função NomeDaFunção(argumento1 Como Tipo1, argumento2 Como Tipo2, ...) Como TipoDeRetorno ' Declarações e instruções NomeDaFunção = expressão ' Atribui o resultado a ser retornado à função Fim da Função

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

Função Square(número As Double) As Double ' Declara uma função que recebe um número como argumento e retorna um número Square = número * número ' 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 suas 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 que você mesmo cria em VBA. Para isso, você deve usar a seguinte sintaxe:

Função NomeDaFunção(argumento1 Como Tipo1, argumento2 Como Tipo2, ...) Como TipoDeRetorno ' Declarações e instruções NomeDaFunção = expressão ' Atribui o resultado a ser retornado à função Fim da Função

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

Função Square(número As Double) As Double ' Declara uma função que recebe um número como argumento e retorna um número Square = número * número ' 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 suas 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 na célula A1

Conclusão

Neste artigo, você aprendeu como usar o Visual Basic for Applications (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 com VBA, como criar macros no Excel com VBA, como criar formulários no 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á a função para realizar subtração no Excel . Agora você pode aproveitar o poder de programação do VBA para personalizar e automatizar o Excel de acordo com suas necessidades.

Artigo anterior: Como aprender Python no nível iniciante?
Próximo artigo: Como conectar-se à sua conta de e-mail da Bouygues Telecom?