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

Comentários

  • Melquisdek
    Responder

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

  • Afonso Dos Santos
    Responder

    Muito bom, bem explicado!

    • Douglas Godoy

      Afonso,

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

      Um abraço.
      Douglas

  • Douglas Guimaraes
    Responder

    como eu salvo o VBA na minha planilha?

    • Douglas Godoy

      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!

  • William Magalhães
    Responder

    Muito bom !

  • bruno
    Responder

    Excelente tutorial
    Me ajudou bastante
    Obrigado!

    • Douglas Godoy

      Olá Bruno,

      Muito obrigado pelo comentário e pela vista!

      Muito Obrigado!

      Abs

      Douglas

  • Flavia de Menezes
    Responder

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

    • Douglas Godoy

      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