Repita o procedimento alterando o nome da segunda planilha para Estados e em seguida digitando os dados nas células de A1 até A6 conforme exibido na figura abaixo:
Novamente altere o nome da terceira planilha para Cidades e em seguida digite os dados conforme exibido a seguir:
Encerrada esta primeira parte já podemos criar o nosso formulário de cadastro que servirá para o usuário digitar as informações que desejamos armazenar.
Pressione Alt+F11 para abrir o Editor Visual Basic e no menu Inserir selecione o item UserForm;
O formulário UserForm1 será apresentado no editor conforme a figura abaixo:
Em seguida usando a Caixa de Ferramentas inclua os seguintes controles no formulário:
6 Labels - vou usar o nome padrão; 6 Caixas de Texto - txtCPF, txtNome, txtEndereco, txtTelefone,
txtEmail, txtNascimento 2 ComboBox - cboEstado e cboCidade 2 OptionButton - vou usar o nome padrão; 4 CommandButton - cmdGravar, cmdPesquisar, cmdExcluir,
cmdFechar
Agora vamos formatar os controles :
Para incluir um título do formulário selecione o mesmo e pressione F4 para exibir a caixa de propriedades do formulário;
A janela de propriedades exibe todas as propriedades do formulário;
Podemos alterar qualquer propriedade que desejarmos;
Vamos alterar a propriedade Caption para Cadastro de Clientes que exibiráo título no formulário;Vamos alterar também a propriedade Name para Dados;
Obs: Cada controle possui as suas propriedades acessadas da mesma forma,basta selecionar o controle e pressionar F4, e, em seguida seleciona a propriedadeque desejamos alterar e informar o novo valor.
Faremos isso para cada controle Label, TextBox e ComboBox inserido no formulário.
O leiaute do formulário completo deverá ficar da seguinte forma:
Observe que nosso projeto já exibe o arquivo Excel , as planilhas e o formulário criados até agora.
Para exibir os estados no controle cboEstado vamos fazer o seguinte:
Selecione o controle cboEstado e pressione F4;
Em seguida localize a propriedade RowSource e digite : Estados!A2:A6 conforme abaixo:
Para exibir as cidades de um estado selecionado vamos usar o evento Change do controle.
Dê um duplo clique no controle cboEstado e a seguir digite o código a seguir no evento Change:
Private Sub cboEstado_Change()
If cboEstado.Value = "BA" Then cboCidade.RowSource = "Cidades!A2:A5"ElseIf cboEstado.Value = "PR" Then cboCidade.RowSource = "Cidades!B3:B5"ElseIf cboEstado.Value = "SC" Then cboCidade.RowSource = "Cidades!C3:C6"ElseIf cboEstado.Value = "SP" Then cboCidade.RowSource = "Cidades!D3:D8"ElseIf cboEstado.Value = "GO" Then cboCidade.RowSource = "Cidades!E3:E6"End If
End Sub
Observe que a fonte de dados é a referência a planilha Cidades indicando a célula inicial e final onde as informações foram inseridas.
A próxima etapa será incluir do código nos botões de comando. Vamos usar o evento Click que ocorre quando o usuário clica no botão.
Começando com o botão Gravar, clique duas vezes sobre o mesmo no Editor Visual Basic e será aberto a janela de código para o evento Click.
A seguir digite o código abaixo no evento Click do botão Gravar:
Private Sub cmdGravar_Click()
'Ativar a primeira planilhaThisWorkbook.Worksheets("Dados Clientes").Activate'Selecionar a célula A3Range("A3").Select
'Procurar a primeira célula vaziaDo If Not (IsEmpty(ActiveCell)) Then ActiveCell.Offset(1, 0).Select End IfLoop Until IsEmpty(ActiveCell) = True
'Carregar os dados digitados nas caixas de texto para a planilhaActiveCell.Value = txtCPF.ValueActiveCell.Offset(0, 1).Value = txtNome.ValueActiveCell.Offset(0, 2).Value = txtEndereco.ValueActiveCell.Offset(0, 3).Value = cboEstado.ValueActiveCell.Offset(0, 4).Value = cboCidade.ValueActiveCell.Offset(0, 5).Value = txtTelefone.ValueActiveCell.Offset(0, 6).Value = txtEmail.ValueActiveCell.Offset(0, 7).Value = txtNascimento.Value
'Carregar o sexo do cliente dos botões de opçãoIf OptionButton1.Value = True Then ActiveCell.Offset(0, 8).Value = "Masculino"Else ActiveCell.Offset(0, 8).Value = "Feminino"End If
'Limpar as caixas de textotxtCPF.Value = EmptytxtNome.Value = EmptytxtEndereco.Value = EmptytxtTelefone.Value = EmptytxtEmail.Value = EmptytxtNascimento.Value = Empty'Limpar as caixas de combinaçãocboEstado.Value = EmptycboCidade.Value = Empty
'Limpar os botões OptionButtonOptionButton1.Value = FalseOptionButton2.Value = False'Colocar o foco na primeira caixa de textotxtCPF.SetFocusEnd Sub
Agora vejamos o código do evento Click do botão Pesquisar: Private Sub cmdPequisar_Click() 'Verificar se foi digitado um nome na primeira caixa de textoIf txtCPF.Text = "" Then MsgBox "Digite o CPF de um cliente" txtCPF.SetFocus Exit SubEnd IfWith Worksheets("Dados Clientes").Range("A:A")Set c = .Find(txtCPF.Value, LookIn:=xlValues, LookAt:=xlPart)
If Not c Is Nothing Then c.Activate txtCPF.Value = c.Value txtNome.Value = c.Offset(0, 1).Value txtEndereco.Value = c.Offset(0, 2).Value cboEstado.Value = c.Offset(0, 3).Value cboCidade.Value = c.Offset(0, 4).Value txtTelefone.Value = c.Offset(0, 5).Value txtEmail.Value = c.Offset(0, 6).Value txtNascimento.Value = c.Offset(0, 7).Value
'Carregando o botão de opção If c.Offset(0, 8) = "Masculino" Then OptionButton1.Value = True Else OptionButton2.Value = True End IfElse MsgBox "Cliente não localizado!"End IfEnd WithEnd Sub
Vejamos agora o código do evento Click do botão Excluir: Private Sub cmdExcluir_Click()'Declarar a variável Resp para receber uma respostaDim Resp As Integer
'Fazer a busca do registro digitado pelo usuárioWith Worksheets("Dados Clientes").Range("A:A")Set c = .Find(txtCPF.Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then Resp = MsgBox("Tem certeza que deseja excluir o registro?", vbYesNo, "Confirmação") If Resp = vbYes Then c.Select Selection.EntireRow.Delete
'Limpar as caixas de texto txtCPF.Value = Empty txtNome.Value = Empty txtEndereco.Value = Empty cboEstado.Value = Empty cboCidade.Value = Empty txtTelefone.Value = Empty txtEmail.Value = Empty txtNascimento.Value = Empty OptionButton1.Value = False OptionButton2.Value = False 'Colocar o foco na primeira caixa de texto txtCPF.SetFocus Else MsgBox "O registro não será excluído!" End IfElse MsgBox "Cliente não encontrado!"End IfEnd WithExit SubEnd Sub
Finalmente temos o código do botão Fechar que é mostrado a seguir:
Private Sub cmdFechar_Click() Dados.HideEnd Sub
Agora vamos voltar para nossa planilha pressionando Alt+Q ou no menu Arquivo-> Fechar e voltar para o Microsoft Excel;
Na planilha vamos incluir um botão para carregar o formulário que acabamos de criar;
Para isso vamos ativar a barra de ferramentas do Visual Basic na planilha. Para isso selecione no menu Exibir a opção Barras de Ferramentas e selecione Visual Basic;
Em seguida selecione o Botão de comando na barra de ferramentas e inclua na planilha.
Selecione o controle e pressione F4 e altere a sua propriedade Caption para Cadastar;
Executando o projeto iremos ver o formulário ser exibido conforme a figura abaixo.
Só resta digitar as informações do cliente e ver a inclusão na planilha.
Simples , simples assim...
Recommended