Primeiras aulas do curso VBA: Automatizando tarefas no Excel

VBA: Automatizando tarefas no Excel

Introdução ao VBA no Excel - Introdução

Bem-vindos ao curso de VBA: Automatizando tarefas no Excel!

Meu nome é Viviane, e estarei com vocês nesse curso da Alura, tratando sobre VBA!

Afinal, o que é VBA?

Vem do termo Visual Basic For Application, onde Visual Basic é uma linguagem de programação voltada para o uso do Excel!

Você pode se perguntar "será que vou precisar instalar o VBA na minha máquina?" Bom, fique tranquilo pois o Excel já traz consigo essa ferramenta, independente da versão.

Quais são as vantagens de se utilizar uma linguagem de programação?

Sabemos que, através dela, podemos unir vocabulários afim de resolver alguma ação ou tarefa. Por exemplo:

Então, você pode automatizar tarefas tais como planilhas que é necessário formatar todos os dias, realizar vários cálculos, ou ainda aqueles arquivos que você precisa importar para realizar uma consolidação. Para automatizar, podemos criar scripts através do VBA para justamente resolver essas ações.

Também sabemos que o Excel possui milhares de recursos que te ajudam a resolver suas atividades. Entretanto, VBA também irá te trazer soluções inovadoras, não só para automatizar processos, mas também para analisar dados, garantindo a acurácia da informação.

Tudo isso te trará um ganho enorme de tempo!

O que aprenderemos nesse curso?

Abordaremos assuntos como - Objetos do Excel e suas nomenclaturas - Como funciona a janela do Visual Basic - Como escrever e executar um script em VBA

Tudo isso, com exemplos práticos! Além dos exemplos, vocês também colocarão em prática, todo o conteúdo visto aqui no curso através dos vários exercícios.

Aqui estão alguns dos projetos que serão feitos ao longo do curso.

No primeiro exemplo, ao abrir o arquivo, o Excel pedirá uma senha para o usuário.

Campo para digitar a senha

Se errarmos a senha, será mostrado uma mensagem para o usuário de "Senha Inválida", depois será mostrado a mensagem "Até breve!", e então o Excel será fechado. Caso nós acertamos a senha, será exibido as mensagens "Bom dia!", "Boa tarde!" ou "Boa noite!" dependendo do horário em que nós abrirmos o arquivo. Na sequência, teremos acesso às informações da planilha.

Tudo isso é feito através de códigos em Visual Basic. A partir do momento que você já estiver familiarizado com os comandos principais do VBA, os vocabulários, variáveis, abordaremos as instruções de decisão!

Por exemplo, na planilha do Excel temos a função if(), e no VBA temos a instrução If para decisões e a instrução Select Case.

No segundo projeto, aprenderemos como trabalhar com arquivos em VBA! Abordaremos como importar informações de outros arquivos. Para isso, aprenderemos a tratar arquivos com o comando Workbooks, e também veremos os comandos Copy, PasteSpecial, e .GetOpenFilename. O método .GetOpenFilename é responsável por exibir uma caixa para escolher o arquivo a ser importado:

Botão para importar dados de outras tabelas

Esse processo de importação ocorre de uma forma muito ágil!

Um outro recurso importante quando trabalhamos com qualquer tipo de linguagem de programação, são os laços!

Os laços otimizam a instrução dos comandos que se repetem, por isso, durante o nosso treinamento, trabalharemos com os conceitos do While(), do Until() e do For().

Conceitos de laços de repetição

Todos esses laços serão aplicados em uma planilha do Excel, onde por exemplo, temos que selecionar o tipo de cliente por cidade. Digitaremos a cidade de "São Paulo":

Tipo de cliente filtrando pela cidade de São Paulo

Em seguida, será mostrado o total de clientes em São Paulo, e destacará as linhas que contêm a informação referente à São Paulo. Com isso, trabalharemos a parte lógica dentro da instrução de programação em VBA.

Mostraremos também que, através de simples comandos em VBA, você pode resolver uma tarefa difícil, e padronizar as suas informações. Por exemplo, temos a primeira planilha que está com o zoom de 150%, a segunda planilha está com um zoom menor, e a terceira está com um zoom um pouco maior que a segunda. Esse é um exemplo de informação não padronizada.

Observe essas poucas linhas de código:

Sub ajustar_zoom()
    Dim plan As Object
    For Each plan In Worksheets
        plan.Select
        ActiveWindow.Zoom = 100
        Range("all").Select
    Next
    Sheets(1).Select
End

Ao executarmos essas linhas, as nossas planilhas vão estar iguais no zoom, estarão padronizadas.

A ideia agora, é mostrar no placar geral a quantidade de pessoas que assistiu cada um dos filmes mostrados:

Placar que mostra a quantidade de pessoas que assistiu o filme Forest Gump, a felicidade não se compara, Big, e Janela discreta

Vamos rastrear todas as informações e trazer para esse placar geral, clicando no botão "Calcular Público". Com isso, temos um ganho exponencial de tempo! Haverá outros exercícios, mas esses são alguns que faremos juntos no decorrer do curso.

Te espero no próximo vídeo.

Introdução ao VBA no Excel - Instruções para o Excel com VBA

Nesse link você vai encontrar a planilha usada nessa aula.


A partir de agora, utilizaremos toda a estrutura de planilha do Excel, e também entraremos a fundo para indicar instruções para que o Excel resolva alguma coisa para nós. Essas instruções serão descritas através da linguagem de programação chamada VBA.

Imagine uma situação: Todos os dias você recebe um relatório que precisa ser organizado, como fazer alterações na ordem das colunas, modificar o formato do relatório, a cor do título, o tipo da letra, ou até mesmo colocar em ordem alfabética dados como cidades. Então, nós temos ações diárias repetitivas.

Através de uma linguagem de programação, indicaremos todas as instruções passo a passo para que o Excel resolva as tarefas para nós. Isso se tornará automático.

Para dar início à apresentação do VBA, criaremos uma tabela com as informações:

Bom, poderíamos escrever cada um desses itens em nossa planilha, mas imagine que você precise criar essa tabela diariamente, seria um trabalho difícil, não? Então vamos programar para que o Excel resolva para nós.

Após a criação da tabela, cadastraremos um registro, uma informação referente aos itens acima. Para trabalhar utilizando o VBA, você precisa ter uma Guia chamada de Desenvolvedor. Configuraremos essa guia para que ela fique visível juntamente com as outras guias.

Acessaremos a opção "Arquivo > Opções > Personalizar Faixa de Opções;

Menu lateral esquerdo

Ao lado direto do Menu, temos todas as Guias padrão do Excel. Vamos ativar a guia de Desenvolvedor.

Ativar a opção de Desenvolvedor

Depois é só clicar em "OK".

Agora nós também temos a guia Desenvolvedor, e ela tem esses recursos:

Recursos da guia de desenvolvedor

A primeira opção da guia Desenvolvedor (antes do "Macros"), se chama Visual Basic, e como já sabemos, essa é a linguagem que o Excel utiliza.

Quando clicamos na opção "Visual Basic", é aberto o Microsoft Visual Basic for Applications ou somente "Editor do Visual Basic".

Editor do Visual Basic que foi aberto

Application é o aplicativo que ele está sendo executado, e neste caso, o application é o Excel. Um das formas de acessar o VBA é clicando na Guia "Desenvolvedor" > "Visual Basic". Outra forma de também conseguir acessar o VBA, é teclando "Alt + F11".

Como criaremos a nossa primeira tabela no VBA?

Ao observar do lado esquerdo, temos a janela de projeto e a janela de propriedades.

Janelas de projeto e de propriedades

Caso estas janelas não estejam ativas, acessamos o menu "Exibir > Project Explorer". O Project Explorer (ou "Janela de Projeto") nos mostra o arquivo que está aberto, e mostra também as planilhas que estão contidas nesse arquivo.

Project Explorer

Precisamos começar a criar uma instrução em Visual Basic. Para isso, criaremos uma pasta (ou "módulo") para receber essas instruções.

Clicaremos na opção "Inserir > Módulo". Assim, uma nova pasta aparecerá logo abaixo do Project Explorer. Dentro desta pasta, há o primeiro módulo criado, o "Módulo1".

Primeiro módulo criado

Repare que no lado direito, há uma área branca onde podemos escrever informações.

É no módulo onde colocaremos as instruções para que a tabela seja criada. Vamos alterar o nome do módulo. Para isso, temos que ativar a janela de propriedades no menu "Exibir > Janela 'Propriedades' ".

Dentro dessa janela, encontramos a propriedade chamada "Nome", e é aí que podemos estar renomeando o módulo que foi criado. Vamos renomeá-lo para Aula1 e depois teclar no "Enter".

Podemos criar quantos módulos quisermos!

Criaremos mais um módulo, que será chamado de exercícios.

Agora está tudo preparado para começar a escrever as instruções para criar a tabela!

Introdução ao VBA no Excel - Criando uma tabela

A nossa missão é criar uma tabela com os seguintes itens:

Criaremos essa tabela a partir da célula A5 na planilha que criamos no vídeo anterior.

Clicamos no módulo exercícios, começaremos a digitar na área branca ao lado:

Sub Tabela_Simples()

End Sub

A palavra Sub indica o início da instrução, e automaticamente o End Sub é colocado para nós, indicando o final da instrução. Depois do Sub, colocamos o nome da nossa instrução.

A partir de agora, chamaremos esse conjunto de instruções de Macro ou Script.

Outras pessoas costumam chamar esse conjunto de código, e não tem problema se você usá-lo.

Repare que as palavras reservadas Sub e End Sub são escritas em maiúsculas, mesmo se você tentar escrevê-las em minúsculo. Isso acontece por causa das boas práticas do VBA! É importante seguir esses princípios, e aderir às boas práticas de código. Nós recomendamos que você escreva tudo em minúsculo ou que as primeiras letras estejam em maiúsculo, assim seu script será mais legível.

Primeiramente, a nossa primeira tarefa é chegar até a célula A5 no Excel e escrever alguma coisa!

Tudo o que escrevermos entre o Sub e o End Sub, deslocaremos para a direita, como se fosse um parágrafo. Esta também é uma das boas práticas de código, fazendo com que fique mais fácil, mais legível de se ler. Chamamos esse deslocamento de indentação, e a melhor maneira de indentar um código é fazendo o uso da tecla Tab, (localizada ao lado esquerdo da letra Q).

Para indicar uma célula ao VBA, utilizamos o objeto de intervalo Range:

Sub Tabela_Simples()
    Range("a5")
End Sub

Como podemos ver, o Range é uma propriedade que retorna um intervalo da planilha ativa. Para realizar a alteração da célula, utilizamos o comando Value:

Value é um comando que nos permite alterar ou atribuir o valor em uma célula. No caso, colocaremos a palavra "Segurado".

Sub Tabela_Simples()
    Range("a5").Value = "Segurado"
End Sub

Relembrando: Range("a5") é o que chamamos de objeto, se refere à célula. Value altera ou atribui valor à célula.

Vamos seguir com o nosso script:

Sub Tabela_Simples()
    Range("a5").Value = "Segurado"
    Range("b5").Value = "Cidade"
End Sub

Quando usamos o .(ponto), é mostrado uma lista de comando que podemos utilizar. Podemos navegar por essa lista através das "setas para cima e para baixo" do teclado.

Sub Tabela_Simples()
    Range("a5").Value = "Segurado"
    Range("b5").Value = "Cidade"
    Range("c5").Value = "Plano"
    Range("d5").Value = "Valor Pessoa"
    Range("e5").Value = "Valor Dependente"
    Range("f5").Value = "Quantidade"
    Range("g5").Value = "VALOR TOTAL"
End Sub

O símbolo = vamos ler sempre como recebe, pois a tal célula irá receber tal valor. Com essa prática será mais fácil a interpretação.

Como vamos verificar se esses títulos das tabelas estão certos e que vão realmente funcionar?

Dentro da janela do VBA, temos uma seta verde localizada no menu acima.

Executar o script

Após clicar no botão verde para executar o script, será lido todas as linhas de código e serão criadas as informações na planilha.

E se tivéssemos escrito alguma coisa errada?

Bom, nesse caso, o VBA irá mostrar uma mensagem de erro de compilação, e ele irá destacar a palavra para nós. Podemos perceber também, que a linha que contém o Sub ficará em amarelo. Isso quer dizer que ele tentou executar a macro, tentou entrar nela, mas acabou encontrando um erro.

Depois de ter arrumado, podemos executar novamente, clicando na seta verde. Não aconteceu nada, não foi apresentado nenhum erro, e também não fomos avisados se o script acabou de ser executado. Diante dessa situação, temos que ir até a planilha aberta do Excel, para verificar o resultado.

Resultado que foi apresentado na planilha

Podemos ver que o VALOR TOTAL veio em maiúsculo, mas nós não queríamos isso. Você pode pensar dessa maneira: "Vamos dar Ctrl + Z para cancelar o que eu fiz". Você pode até tentar, mas isso não vai resolver, ele não será executado. Isso acontece porque não dá mais para cancelar uma macro após ser executada! Por isso, tome muito cuidado.

Vamos arrumar esse valor diretamente no script para Range("g5").Value = "Valor Total".

Também temos a opção de aumentar o tamanho dessa fonte de letra, assim ficará melhor para visualizar. No menu superior, clique em "Ferramentas > Opções > Formato do editor". Vamos escolher a fonte de tamanho 18.

Uma outra forma de executar o script, é usar a tecla F5! Vamos usá-la agora para realizar a última alteração. Como podemos ver, não há indícios de que realmente o script foi executado. Temos que ir até a planilha para conferir o resultado. E então, encontramos o Valor Total escrito da forma que queríamos.

Concluímos a primeira parte da tabela, que são os títulos, mas agora nós queremos cadastrar uma pessoa nessa tabela. Então, vamos informar os dados em nosso script. Mas para isso ocorrer bem e sem erros de compilação, precisamos usar métodos e recursos do VBA.

Colocaremos um comentário antes, desta forma:

Sub Tabela_Simples()
    Range("a5").Value = "Segurado"
    Range("b5").Value = "Cidade"
    Range("c5").Value = "Plano"
    Range("d5").Value = "Valor Pessoa"
    Range("e5").Value = "Valor Dependente"
    Range("f5").Value = "Quantidade"
    Range("g5").Value = "VALOR TOTAL"
    'Efetuar o cadastro do cliente
    'inserir informações no objeto Célula


End Sub

O apóstrofo indica uma linha de comentário. Podemos colocá-los onde quisermos.

E se caso você queira colocar uma linha grande de comentário, que precisa ser quebrada em duas linhas? Nesse caso, começaremos o comentário com o ' (apóstrofo) e no final da linha, daremos um (espaço + underline).

Sub Tabela_Simples()
    'Criar o título da tabela com a utilização _
    de comandos em VBA
    Range("a5").Value = "Segurado"
    Range("b5").Value = "Cidade"
    Range("c5").Value = "Plano"
    Range("d5").Value = "Valor Pessoa"
    'outros ranges...

Seguindo as boas práticas de programação, os comentários podem vir sempre antes da linha de código, ou na mesma linha.

Agora vamos inserir as informações:

Sub Tabela_Simples()
    'Criar o título da tabela com a utilização _
    de comandos em VBA
    Range("a5").Value = "Segurado"
    Range("b5").Value = "Cidade"
    Range("c5").Value = "Plano"
    Range("d5").Value = "Valor Pessoa"
    Range("e5").Value = "Valor Dependente"
    Range("f5").Value = "Quantidade"
    Range("g5").Value = "VALOR TOTAL"
    'Efetuar o cadastro do cliente
    'inserir informações no objeto Célula
    Range("a6").Value = "Viviane"
    Range("b6").Value = "Guarulhos"
    Range("c6").Value = "Master"
    Range("d6").Value = 400.5

Caso o Valor Pessoa tenha casas decimais, usaremos o .(ponto), pois a padronização de separador americano é o ponto ao invés da vírgula. Vamos continuar.

Sub Tabela_Simples()
    'títulos da tabela
    'inserindo informações
    Range("a6").Value = "Viviane"
    Range("b6").Value = "Guarulhos"
    Range("c6").Value = "Master"
    Range("d6").Value = 400.5
    Range("e6").Value = 50
    Range("f6").Value = 2
    Range("g6").Value = 500.5
End Sub

Agora, vamos exibir esse código. Clicando em alguma das linhas do nosso script, teclaremos a tecla de função "F5".

Primeira inserção de dados na tabela

Foi trazido todos os valores que cadastramos, não apenas somente o título, mas também o valor que inserimos no cadastro. Perceba que, os separadores de sinal que colocamos, foram trocados automaticamente para vírgulas.

No próximo video, teremos mais informações para te falar. Até já!

Sobre o curso VBA: Automatizando tarefas no Excel

O curso VBA: Automatizando tarefas no Excel possui 329 minutos de vídeos, em um total de 66 atividades. Gostou? Conheça nossos outros cursos de Excel em Data Science, ou leia nossos artigos de Data Science.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Excel acessando integralmente esse e outros cursos, comece hoje!

  • 1017 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

Premium

  • 1017 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$75
à vista R$900
Matricule-se

Premium Plus

  • 1017 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$100
à vista R$1.200
Matricule-se

Max

  • 1017 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$120
à vista R$1.440
Matricule-se
Procurando planos para empresas?
Acesso por 1 ano
Estude 24h/dia onde e quando quiser
Novos cursos toda semana