Entre para a LISTA VIP da Black Friday

00

DIAS

00

HORAS

00

MIN

00

SEG

Clique para saber mais
Alura > Cursos de Data Science > Cursos de Excel > Conteúdos de Excel > Primeiras aulas do curso Excel VBA: criando Formulários para facilitar a entrada de dados nas planilhas

Excel VBA: criando Formulários para facilitar a entrada de dados nas planilhas

Iniciando o uso de formulários - Apresentação

Olá, boas-vindas!! Eu sou o professor Roberto Sabino. Estou mais uma vez com você na Alura, te convidando para mais um treinamento. Estamos fazendo agora treinamentos de VBA e este é o nosso curso de Excel VBA: Criando Formulários para facilitar a entrada de dados nas planilhas.

Eu sou especialista em Excel e VBA, já tenho muitos treinamentos na Alura. Acredito que você já tenha feito treinamento comigo.

Se não fez, eu recomendo fortemente que você dê uma olhada nos outros treinamentos que temos na formação Excel, que vai desde o básico até o VBA.

E também, nessa nova sequência de treinamentos de VBA que estamos fazendo tem um treinamento que vem antes, aonde nós vimos o básico do VBA. E a ideia é trazer o VBA para não programadores.

Se você tem vontade de automatizar suas tarefas do dia a dia, se você tem vontade de conhecer o mundo de programação, mas você não é programador, então esse treinamento é exatamente o que você está procurando.

Nesse treinamento nós temos um cliente, que é uma loja de tênis infantis, e eles têm uma planilha usada pelo pessoal do estoque e de vendas para fazer várias coisas.

E eles começaram a reclamar que algumas pessoas do estoque não sabiam usar planilha e estavam estragando as fórmulas, estavam digitando coisa errada.

E eles pediram para nós fazermos alguma coisa que os ajudasse a manter os dados mais íntegros, a impedir que o usuário destruísse a planilha, e eu vou mostrar agora o que faremos nesse treinamento.

Vamos aprender a usar o VBA para criar um formulário. Como vai funcionar esse formulário? Eu vou dar um clique duplo sobre a planilha, ele vai marcar a linha que eu cliquei, ele vai trazer os dados para o formulário e eu vou poder alterar os dados através desse formulário.

O formulário vai fazer uma série de consistências. Por exemplo, no campo “Tamanho” eu poderia colocar o número 25, mas não poderia colocar 250. Estou digitando o 0 e ele não permite, porque o tamanho do tênis só pode ter dois caracteres. Então eu posso colocar, por exemplo, 12 e não posso colocar mais do que dois caracteres.

Mas também vou tentar colocar nesse mesmo campo “ab”. Quando eu for salvar ele vai dizer “O tamanho do tênis deve ser um número”. E se eu cancelar ele volta exatamente do jeito que estava. Ou seja, eu tenho várias coisas que vamos aprender ao longo desse treinamento para não permitir que o usuário estrague a planilha.

Outra coisa, ele só pode escolher um tênis dentro de algumas opções de uma lista. Ele não pode escrever o nome que ele quiser para o tênis.

Nas quantidades ele também só vai poder colocar números. As quantidades estão abertas, podemos até fazer uma restrição maior nisso. Mas se ele colocar letra também na hora de salvar, também aparece uma mensagem: “O preço do tênis deve ser um número”.

Então nós fizemos uma série de validações para que a pessoa não consiga estragar a planilha. E se ela entrar na planilha diretamente? A planilha está travada. Ele só consegue fazer alterações através do formulário.

E se ele quiser incluir um tênis novo em vez de alterar? Então ele tem a opção “Incluir Novo”. Ele tem as opções, pode escolher o tamanho, o preço e as quantidades. Na hora que ele incluir faremos a inclusão no final da planilha.

Você pode perceber que acabei de fazer essa inclusão do Tênis Infantil Atitas Azul, tamanho 18, custando 80 reais e a nossa quantidade em estoque é igual a 10.

É isso que você vai aprender a fazer e eu garanto a você que eu vou fazer esse treinamento visando pessoas que não sabem programar. Então se você não sabe programar, vem conosco, vamos fazer desde o começo.

Se você ainda não assistiu ao nosso curso de VBA 1, que vem imediatamente antes desse, eu recomendo que você veja aquele treinamento primeiro, porque você já virá com uma preparação um pouco melhor. Vamos para o treinamento.

Iniciando o uso de formulários - Dicas para preparar a planilha

Vamos começar a primeira aula do nosso mão na massa. No final do treinamento vamos chegar com uma planilha blindada. A primeira coisa que eu quero fazer com vocês é uma preparação dessa planilha.

Quando vamos trabalhar com VBA, temos que pensar que o VBA já traz uma complexidade para você que não é programador. Então facilite ao máximo, faça a planilha de uma maneira que ela facilite a sua vida. Porque assim você vai conseguir ser muito mais produtivo.

Por exemplo, temos a planilha que nós fizemos no final do nosso treinamento anterior.

Ela tem, no final, algumas somas, um botão “Calcular”. Ter uma planilha que no final tem alguns dados pode te atrapalhar, não só para o VBA, mas também para trabalhar com o formato de banco de dados.

Então você poderia trabalhar com essas três últimas linhas talvez na parte de cima da planilha. Você poderia colar essas linhas e trabalhar com elas na parte de cima. Você pode dar uma reorganizada para ficar um pouco mais bonito, trocar as cores, trocar a localização das coisas.

Mas, para o nosso treinamento eu vou facilitar ainda mais. Eu não vou usar essas linhas porque não precisamos disso. Eu vou excluir essas linhas.

Outra coisa que podemos fazer nessa planilha: para quem acompanhou o curso anterior, nessa planilha fizemos informações duplicadas. O valor total e o alerta de estoque foram feitos com funções normais do Excel, enquanto as colunas “Nossa_SE” e “Nossa_MULT” foram repetidos, mas agora fazendo com as nossas funções.

Então nós vamos manter as nossas funções e nós vamos excluir as colunas “Valor Total” e “Alerta de Estoque”. Eu vou deixar esta planilha já preparada no final da aula para download. Então se você não quiser fazer esse trabalho de limpar a planilha você a terá para download no final da aula 1.

Mas, eu sugiro que você faça esse exercício para você lembrar que é legal fazer essa limpeza. Então tem a limpeza dos dados que você pode fazer.

O que mais vale a pena fazer? No final da planilha, na hora de incluir novos dados, para eu não ter que ficar pensando no VBA, como eu vou fazer formatação, como eu vou fazer as funções?

Primeiro, se nós sabemos, por exemplo, que esse estoque vai ter umas 200 linhas, vamos supor, eu vou copiar essa formatação e vou colocar até embaixo, puxando até umas 500 linhas. Se ele vai ter umas 200 linhas eu deixo umas boas linhas a mais. Já resolvi, puxei a formatação. Essa formatação já me ajuda.

Outra coisa que eu vou fazer é copiar as funções do alerta de estoque e do valor total e vou também colocar nessas linhas até a linha 500. Eu não posso puxar com “Ctrl + seta para baixo” porque não tem nenhuma informação. Então seleciono as linhas e dou um “Ctrl + V” e já gravou.

Então com esta parte eu não vou me preocupar mais. Quando eu tiver que inserir informações nessa planilha eu só vou inserir os dados. As funções já vão estar prontas. É isso que vamos fazer.

Lembra que vamos fazer um formulário que vai poder alterar dados ou também vai poder inserir dados novos. Então para alterar dados vai ser alterar dados na planilha, ela não está protegida ainda. E ao inserir dados ele vai inserir sempre na próxima linha vazia.

Esse nosso projeto não vai excluir linhas, porque ele não vai permitir que este usuário exclua linhas. Quem exclui linhas nesse nosso processo seria alguém que tem a senha da planilha, que pode mexer na planilha.

Outra coisa importante que eu queria falar para vocês sobre VBA é que as pessoas começam a aprender VBA e começam a querer desenvolver sistemas no Excel. Essa não é uma boa ideia.

A ideia do VBA no Excel é te ajudar a automatizar tarefas do dia a dia que você já faria no Excel. Se você tem uma tarefa que você não faz no Excel, mas você vai criar uma ferramenta no Excel só por causa do VBA para fazer, talvez não seja a melhor opção.

A melhor opção seria você ver qual ferramenta se adequa melhor e usar essa ferramenta. Agora, tarefas que você já faz no Excel podem ser automatizadas com VBA.

Por que eu estou falando isso? Porque as pessoas às vezes falam para mim “Sabino, mas o Excel não tem muita segurança para banco de dados, podem hackear minhas informações”.

Então se você já não ia usar o Excel porque são informações sigilosas, porque você precisa de uma segurança grande, então você não vai fazer um sistema com VBA em cima do Excel. É mais ou menos assim a lógica que você tem que usar.

Quando você vai usar o VBA? Quando você já está usando o Excel, seus dados já estão no Excel. Nesse caso, a empresa já usava esses dados no Excel, e nós queremos automatizar, queremos facilitar ou proteger os dados, como é o nosso caso.

Para finalizar, a única coisa que eu teria que fazer com esta planilha é proteger. Eu vou proteger a planilha, você já deve saber fazer. E você pode escolher o que você vai fazer. E para proteger planilha tem uma coisa especial: você tem que permitir que ele selecione as células bloqueadas.

Isso já é padrão, se você não fizer nada já vai funcionar. Mas se você desmarcar o “Selecionar células bloqueadas”, pode ser que o nosso VBA não funcione, porque eu não vou conseguir selecionar a célula que está bloqueada.

Aliás, eu preciso dos dois, do “Selecionar células desbloqueadas” e do “Selecionar células bloqueadas”. Os dois precisam estar marcados, porque depois, na hora em que selecionarmos para abrir o formulário, eu preciso conseguir selecionar a célula. Senão nosso VBA não funciona.

E eu vou pôr uma senha, “1234”, para você conseguir fazer com senha também. Você vai falar “Sabino, mas a pessoa pode burlar essa senha, na internet tem coisa para burlar a senha”. Sim, isso não é para você fazer um negócio de segurança máxima. É só para aquele seu usuário do dia a dia que tem pouco conhecimento de Excel não estragar sem querer a planilha.

Então a senha é uma segurança para ele também, de que ele não vai fazer nada errado. Está protegida a planilha, mas eu posso selecionar células que estão bloqueadas.

Então essa é a planilha com que vamos trabalhar. Já está pronta. Eu vou deixá-la gravada e disponível para você fazer download, desse jeito que está, no início da aula 1.

O primeiro vídeo está terminando, mas nessa aula ainda aprenderemos a fazer um formulário bem simples e chamar o formulário. Continuamos no próximo vídeo.

Iniciando o uso de formulários - Utilizando eventos da planilha

Nesse vídeo o objetivo é mostrar para você o que são eventos da planilha. E eu estou contando que você assistiu o curso que é pré-requisito, o VBA 1. Então tem algumas coisas que eu não vou falar de novo.

Aliás, vou falar de novo rapidamente. Por exemplo, se o seu Excel estiver sem a guia “Desenvolvedor”, clica com o botão direito, clica em “Personalizar a Faixa de Opções... > Personalizar Faixa de Opções” e habilita “Desenvolvedor” na coluna da direita e dá um “Ok”. Assim você terá a aba de desenvolvedor.

Na aba “Desenvolvedor”, clica em “Visual Basic” para entrar no editor de Visual Basic.

Eu fiz uma alteração. Para quem seguiu o último treinamento, você tem no editor de Visual Basic vários módulos. Eu cortei cada uma das funções que tinha em cada um dos módulos e colei tudo num módulo só, chamado “Funcoes_Curso_Anterior”, para não ficar poluindo para vocês.

Eu comentei com vocês que temos os objetos do Excel. Então eu tenho as planilhas e quando eu tenho, por exemplo, a planilha “Produtos Infantis”, eu também tenho ela no editor de Visual Basic.

Nós vamos começar a ver agora como trabalhar com os eventos. Quando você clica duas vezes sobre um dos objetos ele vai te mostrar o que tem de código. Neste caso não tem nada de código.

Na barra superior da esquerda eu vou escolher “Worksheet”, porque eu quero a planilha. Nós veremos Worksheet, Sheet Active sheet, tudo referência a planilha. Então quando eu escolho worksheet nesse caso, eu estou escolhendo eventos da planilha.

Apareceu para mim “SelectionChange”, que é quando eu mudo a seleção na minha planilha.

Mas não é esse evento que eu quero usar. Eu quero o “BeforeDoubleClick”, na barra da esquerda. Por que “Before”? Antes de executar o que o Excel executa no Double Click ele vai fazer isso. Então eu vou começar mostrando este evento para vocês.

Para isso eu vou emitir uma mensagem, que vocês já devem saber: msgbox “Evento Before Double Click”. Isso é para você entender que evento é esse.

Agora eu vou na planilha e vou clicar sobre alguma linha. Se eu clicar nada acontece, mas se eu clicar duas vezes, ele mostra a mensagem “Evento Before Double Click”.

Isso quer dizer que toda hora que eu der um Double Click nesta planilha ele vai acionar aquele código, o que você colocar no editor de Visual Basic.

Só que na sequência ele vai fazer o que ele deveria fazer de Double Click. Como assim? Ele mandou a mensagem, ele fez o código que eu coloquei, mas depois ele vai fazer a ação do Excel mesmo, que é a ação de tentar editar uma célula. E como a célula está protegida ele vai dar essa mensagem.

Então vamos de novo. Vamos entender o seguinte: eu entrei no editor de Visual Basic, eu entrei no objeto Planilha 1 e eu pedi para esse objeto que eu quero o evento “Before Double Click”.

Eu não escrevi nada disso, o Excel fez isso automaticamente. E essas duas coisas já sabemos, porque fizemos as nossas funções. As nossas funções tinham parâmetros, e esses são parâmetros do evento “Before Double Click”. Usaremos esses dois parâmetros.

O que são esses parâmetros? Primeiro, vamos trabalhar o “Cancel”, que é cancelar. O que faz esse “Cancel”? Eu vou determinar se eu quero ou não cancelar o evento Double Click. Então como esse evento é “Before Double Click”, se eu cancelar ele não vai mais fazer o que ele faria no Double Click.

Eu vou alterar esse código e colocar cancel = true, ou seja, eu estou dizendo para ele que eu quero cancelar o evento Double Click.

Então eu estou dizendo para ele cancelar o Double Click. O que isso significa? Lembra que quando você dava duplo clique depois ele te dizia que a planilha estava protegida? Ele não vai dizer mais. Porque ele está cancelando, ele não está fazendo nada mais, ele só está fazendo o que eu quero. Então agora ele só executa o meu código, não faz mais nada.

Eu poderia inclusive nem ter protegido a planilha. Se ele desse o Double Click, eu poderia proteger a planilha dentro do evento. Mas se fosse um clique simples ele conseguiria editar. Isso só está servindo para o Double Click.

O que mais eu quero fazer com este Double Click? Eu quero chamar um formulário. Então no próximo vídeo nós vamos criar um primeiro formulário bem simples, só para entendermos como criar um formulário, e vamos colocar no Double Click a chamada do formulário, e conseguiremos começar a editar a planilha com o nosso formulário.

Sobre o curso Excel VBA: criando Formulários para facilitar a entrada de dados nas planilhas

O curso Excel VBA: criando Formulários para facilitar a entrada de dados nas planilhas possui 140 minutos de vídeos, em um total de 42 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!

Conheça os Planos para Empresas