Aprenda a criar um formulário de cadastro com VBA

Formulário de Cadastro com VBA

Aprenda a fazer um Formulário de Cadastro com VBA

Olá amigos,

Sabemos que nem todo mundo tem o mesmo conhecimento de Excel, seja para realização das tarefas pessoais ou no cotidiano corporativo.



Muitas vezes necessitamos que os dados inseridos em uma planilha sigam um determinado padrão, e para isso temos de criar um formulário de cadastro, fazendo o que o usuário digite os dados nos campos personalizados deste cadastro, e assim todos estes dados são registrados em sua ordem correta em seus respectivos locais e formatos.

Recomendo também…
LINK – Aprendendo como enviar Email com VBA usando o Excel

divider

Com os formulários, você padroniza seus cadastros!

Os Formulários de Cadastro são utilizados há muito tempo para realização desses tipos de tarefas, facilitando assim a vida de quem recebe as planilhas e de quem manipula os dados,  porém nem todas as pessoas possuem conhecimento necessário para criação desses formulários com VBA, por isso o intuito desta postagem é fazer com que você saiba como dar os primeiros passos e criar um formulário de cadastro.

Antes de mais nada…

Abra sua planilha, vá até o console de programação do VBA, com as teclas (ALT+F11) e insira em sua planilha um novo módulo e também um novo formulário, conforme a imagem abaixo.

aprendendo-a-criar-um-formulário-de-cadastro-com-vba

Habilite a Toolbox ou Caixa de Ferramentas de Formulário

Caso não saiba como habilitar a Caixa de Ferramentas ou Toolbox, siga os passos abaixo:

  1. Clique no Menu View, ou Exibir.
  2. Clique na opção Toolbox ou Caixa de Ferramentas conforme a imagem abaixo.

como-habilitar-a-janela-de-ferramentas-do-VBA

Componentes que utilizaremos da caixa de ferramentas…

Agora é necessário inserir no formulário os componentes…
Componentes: Label,  Combobox e um Botão de Comando.

aprendendo-a-criar-um-formulário-de-cadastro-com-vba-formulario-caixa-de-ferramentas-vba

Atenção!

É muito importante que sejam seguidas todos os passos de para que você possa realizar a tarefa corretamente e assim tenha o funcionamento correto do cadastro.

divider

Construindo o Layout do Formulário

1° Passo – Criação do Formulário e Layout

Abaixo temos uma proposta de formulário onde iremos inserir 3 Combobox, 3 Labels e um Botão de Comando.

aprendendo-a-criar-um-formulário-de-cadastro-com-vba-formulario-email-combobox-label

Após realizar a montagem do layout do formulário é necessário ajustar o nome de todos os campos, ter uma padronização do nome dos Campos facilita muito o seu desenvolvimento de código e também a identificação de cada componente quando necessário.

Exemplo:Ao invés de usar CommandButton1 utilize BtCadastro ou Bt_Cadastro.

Para isso clique no componente e posteriormente na janela de propriedades (F4) na propriedade (NAME) e altere para o nome que preferir.

É importante frisar que é ideal que você crie um nome de campo que possa lembrar posteriormente e que tenha um padrão lógico e de sintaxe também.

divider

2° Passo – Criação do local onde os dados serão armazenados. (BD)

Crie uma sheet crie os cabeçalhos dos campos, no caso o título deverá ficar na linha 1 conforme a imagem abaixo.
Como é possível verificar na imagem abaixo temos apenas 1 linha preenchida, que é a linha do título.

aprendendo-a-criar-um-formulário-de-cadastro-com-vba-criar-base-de-dados
divider

3° Passo – Mecanismo que verifica qual é a próxima linha no BD

Com layout preenchido e o nome dos campos padronizados temos que definir como será feito o armazenamento das informações, estas informações por se tratarem de um cadastro devem ser armazenadas em algum lugar e de alguma forma.

Para isso será necessário implementarmos uma rotina que faz a contagem das linhas no local onde os dados serão inseridos.

SIMPLIFICANDO, esta rotina irá verificar quantas linhas estão preenchidas e qual será a próxima linha que receberá os dados do formulário de cadastro.

A rotina a seguir deverá ser implementada na no BOTÃO CADASTRAR, siga os passos a seguir:

  1. Clique no BOTÃO CADASTRAR 2 vezes.
  2. Será crida a Sub Rotina Chamada “Private Sub bt_cadastrar_Click()
  3. Insira na Sub rotina o código abaixo:
Private Sub bt_cadastrar_Click()

Dim linha As Integer

linha = Sheets("BASE").Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Row

'BASE é o local onde os registros serão armazenados, este local pode ser trocadoc conforme a sua necessidade ou preferência.

End Sub

 Para verificar se a rotina está funcionando, atribua a variável linha a uma Box Mensagem conforme o exemplo abaixo.

Private Sub bt_cadastrar_Click()

Dim linha As Integer

linha = Sheets("BASE").Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Row

Msgbox linha

End Sub

Com esta rotina definida saber em qual linha será a próxima a inserção dos dados.

divider

4° Passo – Cadastrando os dados na BASE

Agora que você já sabe qual é a linha que receberá os dados você poderá implementar o mecanismo de registro dos dados na planilha.

Private Sub bt_cadastrar_Click()

linha = Sheets("BASE").Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Row

Plan1.Cells(linha, 1).Value = Me.txt_nome.Value
Plan1.Cells(linha, 2).Value = Me.txt_sobrenome.Value
Plan1.Cells(linha, 3).Value = Me.txt_email.Value

Me.txt_nome.Value = Null
Me.txt_sobrenome = Null
Me.txt_email = Null

registro = Sheets("BASE").Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Row - 2
lbl_registro.Caption = registro

mensagem = MsgBox("Dados cadastrados com sucesso", vbInformation, ":: Cadastro ::")

End Sub

É importante ressaltar que a rotina não faz nenhum tipo de validação do tipo de dados que está sendo implementado seja ele um tipo de dados numérico, data ou texto, tão pouco esta rotina faz a verificação se os campos estão todos preenchidos ou não, para que isso seja feito será necessário implementar o trecho abaixo na rotina.

Com layout preenchido o nome dos campos definidos e a próxima linha que deverá ser preenchida o nosso trabalho fica muito mais fácil, pois a partir daí devemos definir quais são as colunas que receberão determinados dados do formulário.

Temos como exemplo a coluna 1 deverá receber os dados do TXT_NOME, a coluna 2 TXT_SOBRENOME, a coluna 3, TXT_EMAIL.

divider

5° Passo – Abrindo o formulário a partir da Planilha com um botão.

Para abrir o formulário de cadastro a partir do Excel é um processo muito simples, você deve adicionar um novo módulo e criar a rotina abaixo.

Sub AbrirFormulario()

Form_Cadastro.Show

End Sub

Após criar a rotina abaixo insira um botão na sua planilha, ou autoforma para vincular a macro criada.

Ao vincular a macro criada ao botão, toda vez que ele for clicado a rotina AbrirFormulario será acionada e o formulário aberto no Excel.

divider



botao-download



CONCLUSÃO…

Como vocês podem notar é muito simples criar um formulário de cadastro utilizando o VBA,  basta seguir as etapas conforme descrito que você obterá sucesso!!!

Peço que deixem seus comentários, opiniões e avaliações do artigo, através desses comentários opiniões e avaliações saberei como prosseguir e se estamos no caminho certo.

Desde já lhe agradeço pela visita, peço que se cadastre em nossa newsletter para receber nossos artigos, e faça bom uso do código e da planilha.

Um abraço!
Douglas Godoy


Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Comentários

53 respostas para “Formulário de Cadastro com VBA”

  1. Avatar de Henrique Fujimoto
    Henrique Fujimoto

    Muito bom, Obrigado pelas dicas. Aulas bem simples e ate para um leigo, como eu esta facil de entender. Parabens.

  2. Avatar de Henrique Fujimoto
    Henrique Fujimoto

    Muito bom o video aula, explicado de forma simples. Parabens.
    Voce fara algum video explicando como cadastrar imagem?

  3. Douglas, boa tarde!
    Gostaria de tirar uma dúvida com você, pois quando preencho o cadastro mais de uma vez, o sistema não pula para a próxima linha ele apenas sobrepõe o cadastro anterior

  4. show, parabéns me ajudou de mais, sem palavras.

  5. Ola..como ficaria o codigo se fosse para escrever os dados em uma coluna somente um item abaixo do outro e nao em linhas?

  6. Olá Douglas,
    Muito obrigada pela generosidade, isso é raro, sempre estão alocando algum blog a um pacote de promoções……
    Você é muito bom viu?!
    Tentei alterar o código aqui para adaptar a um que eu já havia iniciado, mas não deu certo… Poderia me orientar? Sei que é muito ocupado, quando puder para mim já está ´timo!
    Foi um prazer conhecer você!

  7. Avatar de ALEX SANCHES

    Todos seus trabalhos são excelente parabéns pelo trbalho.

  8. Avatar de Flávia Carvalho
    Flávia Carvalho

    Só consegui a melhor explicação, através desta página. Parabéns! Achei muito bom!

  9. Avatar de luana matos

    fiz todo procedimento porém fica dando erro na linha

    Plan1.Cells(linha, 1).Value = Me.Txt_nome.Value
    fica grifada em amarelo
    erro em tempo de execução “424”
    me ajuda…..

  10. Olá , ao escrever o código Sub Abrir_Formulario () da erro , poderia me ajudar ?

    1. Thiago, qual erro que é apresentado?

  11. Boa tarde Douglas!
    Consegui fazer a minha planilha em cima da sua aula(vídeo) fiz mudando os dados. Só que quando fui colocar a planilha no modo compartilhado fiz o teste e eu criei um e outro computar criou outro, ao clicar os dois criaram na mesma linha. Como faço pra corrigir esse problema? E como faço pra fazer a planilha imprimir?

  12. Avatar de Gabriel Masiero
    Gabriel Masiero

    Boa tarde!

    Qual código para apagar a última linha preenchida!? Obrigado

  13. Bom dia! tenho conhecimento no excell mas não estou conseguindo fazer uma planilha com senhas, pode me ajudar? preciso de uma planilha com vários usuários que quando acessem tenham acesso a uma nova linha sem poder apagar a anterior e na linha criada ter o nome do usuário criador, pode me ajudar por favor?

  14. ele da erro no módulo.

    Sub AbrirFormulario()
    Form_Cadastro.Show
    End Sub

  15. Avatar de Pedro Medeiros
    Pedro Medeiros

    Bom dia Douglas,

    Muito boa as informações prestadas. Bem didática sua VBA.

    Estou tentando estender o cadastro com mais colunas mas o formulário continua buscando somente as 3 colunas do seu exemplo. Quais variávei devo modificar?

  16. OLA DOUGLAS GOSTARIA DE CONSULTA O CADASTRO FEITO APARTI DO CPF

  17. preciso da sua ajuda por favor
    entre em contato comigo

    71986993469

  18. Avatar de ADILSON TAVARES
    ADILSON TAVARES

    Li o post hj, achei muito bom e didático.

    1. Adilson, muito obrigado pelo comentário e pela visita.

      Um abraço!

      Douglas

  19. Avatar de EMERSON JULIO DA SILVA
    EMERSON JULIO DA SILVA

    Douglas, obrigado pelo vídeo!

    Estou com um problema, ao realizar o cadastro recebo a mensagem:
    Erro em tempo de execução ‘424’

    Pode me ajudar?

    1. Isso geralmente acontece quando você está executando o código no VBA e com o foco em outra planilha.

    2. Confira se no seu Excel o nome “dos bastidores” das guias está Plan1(nome da aba que vc colocou)
      Plan2
      Plan3

      Ou

      Planilha1
      Planilha2
      Planilha3

      No seu código, coloque exatamente igual ao do seu Excel!

  20. como alterar dado no vba

  21. Avatar de Rogerio Zeni
    Rogerio Zeni

    Muito obrigado pela ajuda que me deu não tinha ideia de como poderia fazer, gostaria da tua ajuda para criar um banco de dados com acesso a um local por meio de cartão c código de barras e/ou QR code

  22. Grato! deu uma visão..

    1. Obrigado Wanderson! Abs

  23. Avatar de estela depine cunha
    estela depine cunha

    Boa tarde, como faço para buscar os dados desse cadastro, queria montar um relatório a partir de um determinado dado, atraves de VBA

    1. Olá Estela, pode dar mais detalhes do que precisa? Me manda um e-mail…

  24. Douglas queria um formulario para cadastrar, localizar e sinalizar duplicatas caso eu tenta-se incluir o mesmo nome do cliente.. pode me ajudar?

    1. Gustavo,

      Você precisa do formulário ou do código em si… Me mande mais detalhes do que precisa.

  25. Avatar de FABIANO MAZINI RIBEIRO
    FABIANO MAZINI RIBEIRO

    Olá Douglas eu não consegui criar meu formulário de cadastro vc poderia de alguma forma me ajudar?

    1. Ola Fabiano!

      Te enviei em seu email.
      Abs

  26. Muito bom..simples ..direto !!
    Parabens

    1. Muito Obrigado pelo comentário e visita Lúcio.

      Um Abraço!

  27. Avatar de Marcio Greik

    Muito Bom!
    Teria como enviar a planilha.

    OBRIGADO!

  28. […] Caso você tenha interesse em aprender como CRIAR UM FORMULÁRIO DE CADASTRO acesse o link abaixo: http://douglasgodoy.com.br/vba-aprenda-criar-formulario-de-cadastro/ […]

  29. olá
    Será que vc poderia me ajudar, estou com problemas para montar um planilha

  30. A contagem não está funcionando.

  31. Avatar de Afonso Dos Santos
    Afonso Dos Santos

    Muito bom, bem explicado!

    1. Afonso,

      Muito Obrigado pela sua visita e pelo seu comentário!

      Um abraço.
      Douglas

  32. Avatar de Douglas Guimaraes
    Douglas Guimaraes

    como eu salvo o VBA na minha planilha?

    1. Douglas,

      Ao salvar a planilha você deve escolher o formato XLSM ou XLSB, estes formatos que citei salvam todo o código que você programou o VBA e permitem que da próxima vez que você venha utilizar a planilha seus códigos estejam lá.

      Espero ter te ajudado com o comentário, caso precise de mais alguma coisa me avise.

      Um abraço!

  33. Avatar de William Magalhães
    William Magalhães

    Muito bom !

  34. Excelente tutorial
    Me ajudou bastante
    Obrigado!

    1. Olá Bruno,

      Muito obrigado pelo comentário e pela vista!

      Muito Obrigado!

      Abs

      Douglas

  35. Avatar de Flavia de Menezes
    Flavia de Menezes

    Adorei. Muito bem explicado, ou melhor bem didático, parabéns!

    1. Olá Flávia, bom dia!

      Muito obrigado pelo seu comentário e pela visita ao site.

      Tem muita coisa boa por vir!

      Um abraço!
      Douglas