Alura > Cursos de Data Science > Cursos de Excel > Conteúdos de Excel > Primeiras aulas do curso VBA: fazendo um cadastro personalizado

VBA: fazendo um cadastro personalizado

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

Imagine que você trabalha em uma equipe que atende clientes de um banco e precisa anotar em uma planilha se esse cliente comprou ou vendeu um determinado ativo. Isso será inserido no sistema posteriormente, pois requer mais informações e leva mais tempo. Essa planilha precisa ser preenchida rapidamente.

De repente, você percebe que, em alguns momentos, algumas pessoas preenchem de forma errada. Então, você decide criar um formulário para ajudar a equipe a melhorar essa entrada de dados.

O instrutor Roberto Sabino vai dar início ao terceiro curso da formação VBA Excel, onde falaremos sobre formulários no VBA.

Audiodescrição: Roberto Sabino se identifica como um homem de pele clara, rosto oval e olhos castanhos. Tem cabelos castanhos curtos e barba grisalha. Está com uma camisa preta, sentado em uma cadeira também preta. Ao fundo, parede lisa sem decorações.

O que vamos aprender?

Neste curso, vamos aprender a criar um formulário, entender por que um formulário é importante, além de explorar alguns detalhes muito relevantes, como, por exemplo, consistências de tipos de dados dentro do formulário.

Será que a data é válida? Será que a data é inválida? Será que o campo pode ficar em branco? Será que o campo precisa ser preenchido? Vamos explorar todas essas questões neste curso.

Lembre-se de que esses cursos são projetados para promover uma aprendizagem ativa. Portanto, terá contato com o tema do curso, com as atividades que vamos realizar, poderá fazer experimentações, testar no seu dia a dia se o formulário realmente ajuda e aplicar esse conhecimento no cotidiano.

Além disso, tem o apoio do fórum, onde pode fazer perguntas e, talvez, ajudar a responder dúvidas de outras pessoas.

Atenção: Este curso faz parte da formação VBA Excel.

Esperamos por você na primeira aula, pois sabemos que precisamos continuar com essa jornada VBA!

Iniciando o uso de formulários - Porque usar formulários?

Vamos começar nosso exercício prático. Agora estamos dentro do back office da ByteBank.

Por que usar formulários?

Caso não saiba o que é back office, não se preocupe, vamos explicar. Estamos dentro de um banco, que é a ByteBank, e esse banco agora tem uma área de intermediação de compra e venda de ativos, como ações.

Existem pessoas que estão lá para receber ordens de clientes de compra ou de venda e colocar diretamente essas ordens, por exemplo, em um sistema da bolsa, para comprar ou para vender ações.

Mas isso deve ser algo muito rápido, porque o preço da ação é naquele momento. E para registrar isso no sistema do back office, é necessário anotar várias informações. Por isso, a equipe do back office pensou em criar uma planilha para fazer esses registros.

A partir daqui, mesmo que você não trabalhe em banco e não saiba o que é back office, você só precisa saber que essa planilha é para fazer um registro do ativo, quantidade, tipo (se é compra ou venda), preço dessa compra ou venda, quem é o cliente, quem foi o contato da mesa que recebeu esse cliente, qual a data e hora.

AtivoQtdTipoPreçoClienteContato MesaDataHora
PETR4800VendaR$ 25,00Ana PaulaMaria Souza2/1/202410:00
VALE3400CompraR$ 50,00Rodrigo SantosJosé Almeida2/1/202411:00

Na verdade, a data não é tão importante porque poderia ser uma planilha por dia, já que as movimentações do dia se tornam apenas histórico no dia seguinte. Mas vamos mantê-la como uma coluna separada.

A equipe criou essa planilha para ser preenchida manualmente, mas está desorganizada, porque acontecem registros duplicados e erros de preenchimento, já que é uma tarefa que deve ser feita rapidamente.

É muito difícil usar planilhas avulsas, sem nenhuma regra de preenchimento ou algo similar.

Por isso, o que a equipe decidiu fazer? O time quer um formulário para fazer a entrada de dados de uma maneira mais organizada.

Assim, a pessoa não vai ter que procurar a última linha da planilha e escrever manualmente os dados - o que pode gerar erros.

Um formulário pode nos ajudar a digitar mais rápido e a ter regras de preenchimento.

É para isso que servem os formulários. Porém, salientamos que não vamos fazer sistemas em Excel. Não estamos propondo substituir a área de TI, pois existem riscos de segurança da informação e perda de informação - portanto, você não deve fazer isso para informações críticas.

As informações com as quais vamos trabalhar já estão no Excel e não possui um sistema. É por isso que vamos usar uma planilha. O formulário vai nos ajudar a regrar essas entradas.

Suponha você trabalhe em uma empresa muito pequena que não tem meios de desenvolver sistemas e já faz tudo em Excel. Nesse caso, é possível usar o VBA, já que não existe outra alternativa e o volume de informações normalmente não é tão grande, o risco é menor e tem menos pessoas o utilizando.

Criando pasta de trabalho habilitada para macro

Vamos começar com um exercício prático, já trabalhando na planilha.

Primeiramente, certifique-se que a planilha esteja gravada como tipo .xlsm. Basta acessar o menu superior "Arquivo > Salvar como" e escolher a opção "Pasta de Trabalho Habilitada para Macro do Excel (.xlsm)". Não pode ser .xlsx porque ela não aceita macro.

Dica: Preste atenção no rumo das aulas, pois vamos te propor um desafio ao final do curso para continuar o seu aprendizado.

Vamos nomear esse arquivo como "Movimentacao" e salvá-lo em uma pasta na nossa máquina.

Criando formulário

Como esse é o terceiro curso da formação VBA, já sabemos entrar no Microsoft Visual Basic for Applications. No menu "Desenvolvedor", clicamos em "Visual Basic".

Porém, não vamos clicar com o botão direito em "Microsoft Excel Objetos" para escolher inserir módulo. Afinal, nós vamos trabalhar com formulário. Para criar um formulário, deve clicar com botão direito e escolher a opção "Inserir > UserForm".

Particularmente, o Sabino acredita que as pessoas estudantes ficam muito à vontade com formulários. Por isso, o curso é muito fácil de se seguir, porque basta desenhar o formulário.

Quando você abre esta caixa do formulário, deve aparecer uma janela com a caixa de ferramentas. Ela pode ficar escondida no canto de um monitor ou embaixo de alguma janela, caso você esteja usando dois monitores.

Nesse caso, uma dica é desligar um dos monitores ou minimizar as janelas para encontrá-la. Você também pode ir em "Exibir > Caixa de ferramentas" no meu superior para remover sua exibição e depois exibi-la novamente.

A Microsoft, às vezes, vai investindo em tecnologias mais novas e não faz alguns reparos importantes em tecnologias mais consolidadas, como é o caso do VBA. Alguns falam que o VBA é antigo, mas o Sabino prefere dizer que é uma tecnologia consolidada, porque tem muita planilha com VBA no mercado e muitas pessoas ainda usam VBA.

Se você estiver usando um monitor só, normalmente, não acontece esse problema com a caixa de ferramentas.

Mas para que usamos esta caixa de ferramentas?

Desafio: Tente desenhar algo usando três controles: rótulo, caixa de texto e botão de comando.

A usabilidade é similar ao Paint, um desses aplicativos de pintura e desenho. Basta clicar no controle e desenha algo na janela do formulário.

No próximo vídeo, já começamos a te mostrar como você vai desenhar o seu formulário.

Iniciando o uso de formulários - Controles e propriedades

É possível que tenham surgido dúvidas sobre como criar controles, como renomeá-los ou até mesmo o que são módulos. Vamos esclarecer esses pontos agora.

Controles e propriedades

Controles são os itens que podemos colocar no formulário.

Por exemplo, vamos adicionar um label (rótulo), um textbox (caixa de texto) e um command button (botão de comando) no formulário.

Devemos percebemos algumas características importantes do formulário. No topo da janela do formulário está escrito "UserForm1". Isso não é o nome do formulário, mas sim o caption (legenda).

Primeiro, você precisa entender a diferença entre nome e caption (legenda).

O formulário e os controles possuem propriedades, que são exibidas no canto inferior esquerdo, na caixa de propriedades.

Se você clicar na caixa de texto, por exemplo, serão exibidas as propriedades da caixa de texto. Se clicar no próprio formulário, serão exibidas as propriedades do formulário. As propriedades que aparecem são sempre do controle ou do formulário que estiver selecionado.

É importante ter cuidado para não alterar a propriedade do controle errado, pois isso é um erro comum. Quando quiser alterar uma propriedade do botão, por exemplo, clique no botão uma única vez.

Se clicar duas vezes em um controle, será aberto o módulo onde estão os comandos do formulário, ou seja, o código daquele controle onde você vai escrever o seu VBA. Por enquanto, não vamos adicionar nenhum código.

Diferença name e caption

Vamos nos concentrar em duas propriedades muito importantes: name e caption. Ambas aparecem na caixa de propriedades da lateral esquerda quando selecionamos o formulário. Atualmente, essas duas propriedades estão iguais, com o valor "UseForm1".

A diferença entre elas é que o name é como vamos chamar este controle ou formulário no código. Por exemplo, se colocarmos frmFormulario1 no name, quando quisermos fazer referência a ele no código, vamos usar frmFormulario1.

Já o caption é o que aparece no topo do formulário, é decorativo. Por exemplo, poderíamos colocar "Formulário de Movimentação". Isso é apenas um rótulo, uma etiqueta.

Vamos começar definindo o caption do nosso formulário. Vamos mudá-lo para "Formulário de Movimentação", mas esse não seria um bom nome.

No name, não podemos colocar espaços em branco, acentuação e o nome deve ser fácil de usar no código.

A regra que vamos usar para o name é um mnemônico com três letras e o nome que queremos.

Mnemônico são formas de nos lembrar o que é algo. Por exemplo, sempre que vamos dar nome para um formulário, começamos com frm. Isso facilita na hora de usar o código, pois é mais fácil lembrar que frm é o formulário e diferenciar, por exemplo, de um texto que pode ter até o mesmo nome, mas tem um mnemônico diferente.

Nesse caso, vamos renomeá-lo para frmMovimentacao sem cedilha, acento ou espaços. Você deve colocar o nome que te ajude a lembrar qual elemento isso referencia.

Mas por que não podemos usar cedilha ou acentos? Porque em inglês não existe essa acentuação, ou seja, o código não está pronto para esses caracteres - o que pode causar problemas.

Vamos fazer o mesmo para o rótulo. O name do rótulo será lblAtivo, um mnemônico para label seguido do nome da primeira coluna da planilha. Isso porque o formulário vai se conectar com a planilha para fazer a entrada de dados.

O caption do rótulo será "Ativo:". No caption, não colocamos o mnemônico, pois o caption é o que vai aparecer para a pessoa usuária.

Para a caixa de texto, vamos usar o mnemônico txt, assim, o nome será txtAtivo. Desse maneira, podemos dar o mesmo nome com um mnemônico diferente e na hora de fazer o nosso código, podemos referenciar lblAtivo ou txtAtivo de uma forma muito mais fácil.

Essa nomenclatura é mais profissional, pois um código bem escrito ajuda na organização e manutenção.

Para o botão de comando, vamos usar o mnemônico cmd, portanto, o nome será cmdSair. O caption será "Sair".

Agora é a sua vez! A próxima atividade de "Mão na massa" será criar o formulário inteiro com os demais campos a serem preenchidos! Basta colocar os controles e mudar suas propriedades. Ao decorrer das próximas aulas, vamos entender como cada elemento vai funcionar.

Agora temos um formulário. Mas como fazemos esse formulário funcionar e como o conectamos na planilha? Isso será mostrado no próximo vídeo.

Sobre o curso VBA: fazendo um cadastro personalizado

O curso VBA: fazendo um cadastro personalizado possui 153 minutos de vídeos, em um total de 49 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