O que é vba no excel? (básico ao avançado)

O que é VBA?

VBA (Visual Basic for Applications) é uma linguagem de programação que permite automatizar quase tudo no Excel. Com o VBA, você pode consultar objetos do Excel e usar as propriedades, métodos e eventos associados a eles. Por exemplo, você pode criar uma tabela dinâmica, inserir um gráfico e exibir uma caixa de mensagem ao usuário usando uma macro.

A loucura é:

Para todas as tarefas que você faz manualmente em minutos, o VBA pode fazer isso em segundos, com um único clique, com a mesma precisão. Até você pode escrever códigos VBA que podem ser executados automaticamente quando você abre um documento, pasta de trabalho ou até mesmo em um horário específico.

Deixe-me mostrar um exemplo concreto:

Todas as manhãs, quando vou para o escritório, a primeira coisa que preciso fazer é criar uma tabela dinâmica com as vendas acumuladas do mês e apresentá-la ao meu chefe. Isso inclui as mesmas etapas, todos os dias. Mas quando percebi que poderia usar o VBA para criar uma tabela dinâmica e inseri-la com apenas um clique, economizei 5 minutos por dia.

Códigos de macro para criar uma tabela dinâmica

É assim que o VBA funciona

VBA é uma linguagem orientada a objetos e como uma linguagem orientada a objetos, no VBA estruturamos nossos códigos de forma que usamos objetos e então definimos suas propriedades.

Em termos simples, primeiro definimos o objeto e depois a atividade que queremos realizar. Existem objetos, coleções, métodos e propriedades que você pode usar no VBA para escrever seu código.

>Não perca esta<

Digamos que você queira dizer a alguém para abrir uma caixa. As palavras que você usaria seriam “Abra a caixa”. É um inglês simples, não é? Mas quando se trata de VBA e de escrever uma macro, será:

 Box.Open

Como você pode ver, o código acima é iniciado com a caixa que é nosso objeto aqui, então utilizamos o método “Open” para isso. Vamos ser um pouco mais específicos, digamos que se você quiser abrir a caixa que está na cor VERMELHA. E para isso o código será:

 Boxes(“Red”).Open

No código acima, boxes são a coleção e open é o método. Se você tiver várias caixas, definimos uma caixa específica aqui. Aqui está outra maneira:

 Box(“Red”).Unlock = True

No código acima, as caixas são novamente a coleção e Unlock é a propriedade definida como TRUE.

Para que é usado o VBA no Excel?

No Excel você pode usar o VBA para coisas diferentes. Aqui estão alguns:

  • Insira dados : você pode inserir dados em uma célula, um intervalo de células. Você também pode copiar e colar dados de uma seção para outra.
  • Automação de tarefas : você pode automatizar tarefas que exigem muito tempo. O melhor exemplo que posso dar é usar uma macro para criar uma tabela dinâmica.
  • Crie uma função personalizada do Excel : com o VBA, você também pode criar uma função personalizada definida pelo usuário e usá-la na planilha.
  • Criar suplementos : no Excel, você pode converter seus códigos VBA em suplementos e compartilhá-los com outras pessoas também.
  • Integrar com outros aplicativos da Microsoft : Você também pode integrar o Excel com outros aplicativos da Microsoft. Por exemplo, você pode inserir dados em um arquivo de texto.

Noções básicas de programação Excel

1. Procedimento

Um procedimento em VBA é um conjunto de códigos ou uma única linha de código que executa uma atividade específica.

  1. SUB : O procedimento Sub pode executar ações, mas não retorna um valor (mas você pode usar um objeto para obter esse valor).
  2. Função : Utilizando o procedimento Function, você cria sua função, que pode utilizar na planilha ou nos demais procedimentos SUB e FUNCTION (Veja isto: Função VBA ).

2. Variáveis e constantes

Você precisa de variáveis e constantes para usar valores várias vezes no código.

  • Variável : Uma variável pode armazenar um valor, tem um nome, você deve definir seu tipo de dados e pode modificar o valor que ela armazena. Como o nome sugere, “VARIÁVEL” não tem valor fixo. É como uma caixa de armazenamento armazenada no sistema.
  • Constante : uma constante também pode armazenar um valor, mas você não pode alterar o valor durante a execução do código.

3. Tipos de dados

Você deve declarar o tipo de dados para VARIÁVEIS e CONSTANTES.

define data type

Quando você especifica o tipo de dados para uma variável ou constante, isso garante a validade dos seus dados. Se você omitir o tipo de dados, o VBA aplicará o tipo de dados Variant à sua variável (este é o mais flexível), o VBA não adivinhará qual deveria ser o tipo de dados.

Dica: opção VBA explícita

4. Objetos, propriedades e métodos

Visual Basic for Applications é uma linguagem orientada a objetos e para tirar o máximo proveito dela; você precisa entender os objetos do Excel.

A pasta de trabalho que você usa no Excel contém objetos diferentes e, com todos esses objetos, existem várias propriedades que você pode acessar e métodos que pode usar.

5. Eventos

Cada vez que você faz algo no Excel, é um evento: insira um valor em uma célula, insira uma nova planilha ou insira um gráfico. Abaixo está a classificação dos eventos de acordo com os objetos:

  1. Eventos de Aplicativo: Esses eventos estão associados ao próprio aplicativo Excel.
  2. Eventos de pasta de trabalho: esses eventos estão associados a ações que ocorrem em uma pasta de trabalho.
  3. Eventos de planilha: esses eventos estão associados à ação que ocorre em uma planilha.
  4. Eventos de gráfico: esses eventos estão associados a planilhas de gráficos (que são diferentes das planilhas).
  5. Eventos de formulário de usuário: esses eventos estão associados à ação que ocorre com um formulário de usuário.
  6. Eventos OnTime: Eventos OnTime são aqueles que podem acionar código em um horário específico.
  7. Eventos OnKey: Eventos OnKey são aqueles que podem acionar um código quando uma tecla específica é pressionada.

6.Escopo

O objeto range é a maneira mais comum e popular de se referir a um intervalo em seus códigos VBA. Você precisa se referir ao endereço da célula, deixe-me contar a sintaxe.

 Worksheets(“Sheet1”).Range(“A1”)

7.Condições

Como qualquer outra linguagem de programação, você também pode escrever códigos para testar condições em VBA. Ele permite que você faça isso de duas maneiras diferentes.

  • IF THEN‌ ELSE‌ : Esta é uma instrução IF que você pode usar para testar uma condição e, em seguida, executar uma linha de código se essa condição for TRUE. Você também pode escrever condições de aninhamento com
  • SELECT‌T‌ CASE : No caso de seleção, você pode especificar uma condição e, em seguida, diferentes casos de resultados de teste para executar diferentes linhas de código a serem executadas. É um pouco mais estruturado que a instrução IF.

8. Loops VBA

Você pode escrever códigos que podem repetir e repetir uma ação no VBA, e há várias maneiras de escrever códigos como este.

  • For Next : A melhor opção para usar For Next é quando você deseja repetir um conjunto de ações um número fixo de vezes.
  • For Each Next : É perfeito para usar quando você deseja iterar sobre um grupo de objetos de uma coleção de objetos.
  • Do While Loop: A ideia simples por trás do Do While Loop é realizar uma atividade enquanto uma condição for verdadeira.
  • Do Until Loop: No Do Until Loop, o VBA executa um loop e continua a executá-lo se a condição for FALSE.

9. Caixa de entrada e caixa de mensagem

  • Caixa de entrada : Caixa de entrada é uma função que exibe uma caixa de entrada para o usuário e coleta uma resposta.
  • Caixa de mensagem : a caixa de mensagem ajuda a exibir uma mensagem ao usuário, mas você tem a opção de adicionar botões à caixa de mensagem para obter a resposta do usuário.

10. Erros

O Excel não tem sorte quando se trata de erros de programação e você tem que lidar com eles de qualquer maneira.

  1. Erros de sintaxe : são como erros de digitação cometidos ao escrever códigos, mas o VBA pode ajudá-lo relatando esses erros.
  2. Erros de compilação: ocorrem quando você escreve código para executar uma atividade, mas essa atividade é inválida.
  3. Erros de tempo de execução : ocorre um erro RUNTIME durante a execução do código. Ele interrompe o código e exibe a caixa de diálogo de erro.
  4. Erro lógico : não é um erro, mas um erro ao escrever o código e às vezes pode causar problemas ao localizá-los e corrigi-los.

Escreva uma macro (programa VBA) no Excel

Tenho uma forte convicção de que inicialmente, quando alguém começa a programar no Excel, ELE/ELA deveria escrever cada vez mais códigos do zero. Quanto mais códigos você escreve do zero, mais você entende como o VBA funciona.

Mas você deve começar escrevendo códigos simples em vez de pular para códigos complexos. É por isso que não quero que você pense em nada complexo agora.

Você pode até escrever código de macro para criar uma tabela dinâmica, mas agora não quero que você pense tão longe. Vamos pensar em uma atividade que você deseja realizar em sua planilha e pode escrever um código para ela.

  1. Vá para a guia Desenvolvedor e abra o Editor do Visual Basic no botão “Visual Basic”.
    visual-basic-button
  2. Depois disso, insira um novo módulo da “Janela Projeto” (Clique com o botão direito ➢ Inserir ➢ Módulo).
    insert-a-new-module
  3. Depois disso, vá até a janela de código e crie uma macro com o nome “Enter Done” (criamos um procedimento SUB), como fiz abaixo.
    code-window
  4. A partir daí, você precisa escrever algum código que acabamos de falar acima. Espere um segundo e pense assim: você precisa especificar a célula na qual deseja inserir o valor e, em seguida, o valor que deseja inserir.
  5. Insira a referência da célula, e para isso você precisa utilizar o objeto RANGE e especificar o endereço da célula ali, conforme abaixo:
    cell-reference-range-object
  6. Depois disso, insira um ponto e, no momento em que adicionar um ponto, você terá uma lista de propriedades que pode definir e atividades que pode realizar com o intervalo.
    enter-a-dot
  7. A partir daqui você precisa selecionar a propriedade “Valor” e definir o texto que deseja inserir na célula “A1” e ao fazer isso, seu código ficará parecido com o abaixo.
    select-value
  8. Por fim, acima da linha do código, insira o texto (“este código insere o valor “Concluído” na célula A5). Este é um comentário VBA que você pode inserir para definir a linha de código que você escreveu.
    enter-the-text-above-line-code
 Sub Enter_Done() 'this code enters the value “Done” in the cell A5 Range("A1").Value = "Done" End Sub

Vamos entender isso…

Você pode dividir esse código em duas partes diferentes.

  • Na PRIMEIRA parte, especificamos o endereço da célula usando o objeto RANGE. E, para se referir a uma célula usando um objeto de intervalo, você precisa colocar o endereço da célula entre aspas duplas (você também pode usar colchetes).
  • Na SEGUNDA parte, especificamos o valor a ser inserido na célula. O que você fez foi definir a propriedade value para a célula A5 usando “.Value”. Depois disso, a próxima coisa que você especificou é o valor relativo à propriedade value . Sempre que você definir um valor (se for texto), você deverá colocar esse valor entre aspas duplas.

A melhor maneira de aprender VBA

Aqui listei alguns dos tutoriais mais incríveis (não em nenhuma sequência específica) que podem ajudá-lo a aprender VBA rapidamente.

11. Funções

Adicione um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *