Hoje mostraremos como criar uma tela de validação de usuário utilizando apenas o VBA.
Para isso, inicialmente abra uma nova pasta de trabalho do Excel e pressione Alt + F11 para abrir o ambiente VBE do Excel.

Logo em seguida, clique em Inserir e então adicione um UserForm.

Você verá uma janela com o título Caixa de ferramentas, dela arraste 2 objetos caixa de texto, 2 objetos rótulo e 2 objetos botão de comando e alinhe-os da seguinte forma:

Clique em Label 1 e do lado esquerdo inferior haverá uma janela com o nome propriedades, nela altere a propriedade Caption de Label 1 para Usuário, da seguinte forma:
Antes:

Depois:

Agora faça as seguintes alterações no Caption nos demais componentes, da mesma forma que fizemos no primeiro.
Label 2 >> Senha
CommandButton 1 >> Entrar
CommandButton 2 >> Cancelar
Userform1 >> Login de usuário
Após as alterações o Userform deverá ficar com a seguinte aparência:

Agora clique na caixa de texto abaixo da Senha, iremos configurá-la de modo que a senha não apareça e apenas sejam exibidos os caracteres *. Para isso, insira um asterisco na propriedade PasswordChar da caixa de texto.

O próximo passo é implementarmos as ações de cada botão. Iremos iniciar pelo botão cancelar, dê dois cliques nele até abrir a janela para inserção de código e digite o seguinte trecho:

Desta forma, toda vez que alguém clicar no botão cancelar o Excel fechará.
Volte para a visão do Userform clicando nele duas vezes na janela de projeto.

Clique duas vezes no botão entrar para criarmos toda a programação por trás do botão entrar. Feito isso, insira os códigos como demonstrados abaixo, o texto em verde são comentários que inserimos no VBA para você compreender melhor o que cada trecho de código está fazendo.

Na janela projeto clicaremos duas vezes em Esta Pasta de Trabalho e então definiremos para o Userform 1 com a tela de autenticação, abrir sempre que o arquivo do Excel for aberto. Para isso, digite o seguinte código:
Feito isso, agora iremos salvar a pasta de trabalho que criamos, lembrando que a mesma deve ser salva com a extensão .xlsm que é própria para macros, e que as execuções das mesmas devem estar habilitadas em seu Excel.
Para isso, feche a janela do VBE, vá no Excel na guia arquivo e em seguida selecione salvar como.

Defina o nome do seu arquivo, a extensão e salve-o. Quando abrir o arquivo novamente, a janela de autenticação será exibida.

Caso o usuário e a senha estejam corretos, o Excel será aberto.


Gostou? Caso queira aprender isso e muito mais, conheça nosso curso de Excel VBA.