Inquiridor
Botão Editar

Pergunta
-
Criei um banco de dados em VBA Excel, estava rodando corretamente, porem, precisei criar o botão editar. Estou com dificuldades de encontrar o erro e fazer com que esse botão funcione. Preciso desse banco de dados para trabalhar. Poderiam me ajudar a solucionar? Segue tudo que eu fiz.
Private Sub botao_editar_Click()
'verificar se o usuario selecionou algum nome
If caixa_localizar.ListIndex = -1 Then
MsgBox " Selecione o nome para editar!"
Exit Sub
End If
linha = caixa_localizar.ListIndex + 2
resposta = MsgBox("Deseja editar cadastro?", 3, "Editar")
If resposta = vbYes Then
DAQUI EM DIANTE NÃO FAZ O QUE É ESPERADO, ACHO QUE ESTOU ESQUECENDO ALGO
MsgBox "Dados Atualizados!"
End If
End Sub
Private Sub botao_excluir_Click()
'verificar se usuário selecionou nome
If caixa_localizar.ListIndex = -1 Then
MsgBox "Selecione um nome antes de excluir!"
Exit Sub
End If
'variável que a linha o nome está
linha = caixa_localizar.ListIndex + 2
'Worksheets("GarantiaSafra").Rows(linha).Delete
resposta = MsgBox("Deseja realmente excluir esse cadastro?", 3, "Excluir")
If resposta = vbYes Then
Worksheets("GarantiaSafra").Rows(linha).Delete
'comando para excluir sem deletar a linha
'Worksheets("GarantiaSafra").Cells(linha, 15) = "Excluido"
MsgBox "Cadastro excluido com sucesso"
Exit Sub
End If
'codigo para limpar as caixas
caixa_nome = ""
caixa_apelido = ""
caixa_bairro = ""
caixa_cep = ""
caixa_cidade = ""
caixa_contatos = ""
caixa_cpf = ""
caixa_datadenasc = ""
caixa_endereço = ""
caixa_estado = ""
caixa_localidade = ""
caixa_nº = ""
caixa_rg = ""
caixa_programas = ""
'comando para colocar o foco
caixa_nome.SetFocus
'Comamdo pra salvar automatico
ActiveWorkbook.Save
End Sub
Private Sub botao_fechar_Click()
Unload CADASTROAGRI
LOGIN.Show
End Sub
Private Sub botao_imprimir_Click()
Worksheets("GarantiaSafra").Select
Unload CADASTROAGRI
Application.Visible = True
ActiveWindow.SelectedSheets.PrintPreview
Application.Visible = False
CADASTROAGRI.Show
End Sub
Private Sub Botao_novo_Click()
caixa_nome = ""
caixa_apelido = ""
caixa_bairro = ""
caixa_cep = ""
caixa_cidade = ""
caixa_contatos = ""
caixa_cpf = ""
caixa_datadenasc = ""
caixa_endereço = ""
caixa_estado = ""
caixa_localidade = ""
caixa_nº = ""
caixa_rg = ""
caixa_localizar = ""
caixa_programas = ""
'codigo para enviar o cursor para caixa nome
caixa_nome.SetFocus
ActiveWorkbook.Save
End Sub
Private Sub botao_salvar_Click()
totalregistro = Worksheets("GarantiaSafra").UsedRange.Rows.Count + 1
Worksheets("GarantiaSafra").Select
'Aqui começa a gravação dos dados
Cells(totalregistro, 1) = caixa_nome
Cells(totalregistro, 2) = caixa_apelido
Cells(totalregistro, 3) = caixa_cpf
Cells(totalregistro, 4) = caixa_rg
Cells(totalregistro, 5) = caixa_datadenasc
Cells(totalregistro, 6) = caixa_endereço
Cells(totalregistro, 7) = caixa_nº
Cells(totalregistro, 8) = caixa_cep
Cells(totalregistro, 9) = caixa_cidade
Cells(totalregistro, 10) = caixa_estado
Cells(totalregistro, 11) = caixa_bairro
Cells(totalregistro, 12) = caixa_contatos
Cells(totalregistro, 13) = caixa_localidade
Cells(totalregistro, 14) = caixa_programas
MsgBox "Dados cadastrados com sucesso"
'codigo para limpar as caixas
caixa_nome = ""
caixa_apelido = ""
caixa_bairro = ""
caixa_cep = ""
caixa_cidade = ""
caixa_contatos = ""
caixa_cpf = ""
caixa_datadenasc = ""
caixa_endereço = ""
caixa_estado = ""
caixa_localidade = ""
caixa_nº = ""
caixa_rg = ""
caixa_programas = ""
'codigo para enviar o cursor para caixa nome
caixa_nome.SetFocus
'comando para classificar em ordem alfabética
ORDENAR
'salvamento automatico
ActiveWorkbook.Save
'codigo para preencher a caixa localizar
totaldelinhas = Worksheets("GarantiaSafra").UsedRange.Rows.Count
caixa_localizar.RowSource = "GarantiaSafra!a2:a" & totaldelinhas
End Sub
Private Sub caixa_apelido_Change()
caixa_apelido = UCase(caixa_apelido)
End Sub
Private Sub caixa_bairro_Change()
caixa_bairro = UCase(caixa_bairro)
End Sub
'comando para organizar o cep
Private Sub caixa_cep_Change()
If Len(Me.caixa_cep.Text) = 2 Then
Me.caixa_cep.Text = Me.caixa_cep.Text & "."
Me.caixa_cep.SelStart = 4
ElseIf Len(Me.caixa_cep.Text) = 6 Then
Me.caixa_cep.Text = Me.caixa_cep.Text & "-"
Me.caixa_cep.SelStart = 7
ElseIf Len(Me.caixa_cep.Text) = 10 Then
Me.caixa_cidade.SetFocus
End If
End Sub
Private Sub caixa_cidade_Change()
caixa_cidade = UCase(caixa_cidade)
End Sub
'comando para organizar o cpf
Private Sub caixa_cpf_Change()
If Len(Me.caixa_cpf.Text) = 3 Then
Me.caixa_cpf.Text = Me.caixa_cpf.Text & "."
Me.caixa_cpf.SelStart = 6
ElseIf Len(Me.caixa_cpf.Text) = 7 Then
Me.caixa_cpf.Text = Me.caixa_cpf.Text & "."
Me.caixa_cpf.SelStart = 9
ElseIf Len(Me.caixa_cpf.Text) = 11 Then
Me.caixa_cpf.Text = Me.caixa_cpf.Text & "-"
ElseIf Len(Me.caixa_cpf.Text) = 14 Then
Me.caixa_rg.SetFocus
End If
End Sub
'comando para organizar a data
Private Sub caixa_datadenasc_Change()
If Len(Me.caixa_datadenasc.Text) = 2 Then
Me.caixa_datadenasc.Text = Me.caixa_datadenasc.Text & "/"
Me.caixa_datadenasc.SelStart = 4
ElseIf Len(Me.caixa_datadenasc.Text) = 5 Then
Me.caixa_datadenasc.Text = Me.caixa_datadenasc.Text & "/"
Me.caixa_datadenasc.SelStart = 7
ElseIf Len(Me.caixa_datadenasc.Text) = 10 Then
Me.caixa_endereço.SetFocus
End If
End Sub
Private Sub caixa_endereço_Change()
caixa_endereço = UCase(caixa_endereço)
End Sub
Private Sub caixa_localidade_Change()
caixa_localidade = UCase(caixa_localidade)
End Sub
Private Sub caixa_localizar_Click()
Worksheets("GarantiaSafra").Select
totalregistro = Worksheets("GarantiaSafra").UsedRange.Rows.Count
For i = 0 To totalregistro
If caixa_localizar.ListIndex = i Then
'preencher as caixas
caixa_nome = Cells(i + 2, 1)
caixa_apelido = Cells(i + 2, 2)
caixa_cpf = Cells(i + 2, 3)
caixa_rg = Cells(i + 2, 4)
caixa_datadenasc = Cells(i + 2, 5)
caixa_endereço = Cells(i + 2, 6)
caixa_nº = Cells(i + 2, 7)
caixa_cep = Cells(i + 2, 8)
caixa_cidade = Cells(i + 2, 9)
caixa_estado = Cells(i + 2, 10)
caixa_bairro = Cells(i + 2, 11)
caixa_contatos = Cells(i + 2, 12)
caixa_localidade = Cells(i + 2, 13)
caixa_programas = Cells(i + 2, 14)
Exit Sub
End If
Next
End Sub
'comando para o nº
Private Sub caixa_nº_Change()
If Len(Me.caixa_nº.Text) = 4 Then
Me.caixa_cep.SetFocus
End If
End Sub
Private Sub caixa_nome_Change()
caixa_nome = UCase(caixa_nome)
End Sub
Private Sub caixa_programas_Change()
caixa_programas = UCase(caixa_programas)
End Sub
Private Sub Image1_Click()
End Sub
'codigo para preencher a caixa estado
Private Sub UserForm_Initialize()
caixa_estado.AddItem "MG"
caixa_estado.AddItem "CE"
caixa_estado.AddItem "PE"
caixa_estado.AddItem "PB"
caixa_estado.AddItem "RN"
caixa_estado.AddItem "BA"
caixa_estado.AddItem "MA"
caixa_estado.AddItem "AL"
caixa_estado.AddItem "SE"
caixa_estado.AddItem "PI"
caixa_estado.AddItem "RJ"
caixa_estado.AddItem "SP"
caixa_estado.AddItem "GO"
caixa_estado.AddItem "MT"
caixa_estado.AddItem "MS"
caixa_estado.AddItem "RS"
caixa_estado.AddItem "SC"
caixa_estado.AddItem "PR"
caixa_estado.AddItem "AM"
caixa_estado.AddItem "RR"
caixa_estado.AddItem "RO"
caixa_estado.AddItem "AC"
caixa_estado.AddItem "DF"
caixa_estado.AddItem "ES"
caixa_estado.AddItem "TO"
caixa_estado.AddItem "PA"
'codigo para preencher a caixa localizar
totaldelinhas = Worksheets("GarantiaSafra").UsedRange.Rows.Count
caixa_localizar.RowSource = "GarantiaSafra!a2:a" & totaldelinhas
End Sub
- Editado Nicodemos Filho segunda-feira, 19 de dezembro de 2016 17:56
Todas as Respostas
-
-
-
Coloque o mesmo código que usa para gravar os dados:
Cells(linha, 1) = caixa_nome Cells(linha, 2) = caixa_apelido Cells(linha, 3) = caixa_cpf Cells(linha, 4) = caixa_rg Cells(linha, 5) = caixa_datadenasc Cells(linha, 6) = caixa_endereço Cells(linha, 7) = caixa_nº Cells(linha, 8) = caixa_cep Cells(linha, 9) = caixa_cidade Cells(linha, 10) = caixa_estado Cells(linha, 11) = caixa_bairro Cells(linha, 12) = caixa_contatos Cells(linha, 13) = caixa_localidade Cells(linha, 14) = caixa_programas
http://www.ambienteoffice.com.br Participe do grupo de WhatsApp sobre Microsoft Office: https://chat.whatsapp.com/K1uey5Q4yJdKnsgWkVQAZG
-
-
Não tenho como avaliar por não ter acesso a sua pasta de trabalho e projeto.
O que é para o botão Editar ao ser clicado? E para preencher os dados no formulário ou na planilha?
http://www.ambienteoffice.com.br || Participe do grupo de WhatsApp sobre Microsoft Office: https://chat.whatsapp.com/K1uey5Q4yJdKnsgWkVQAZG
-
Editar os dados da planilha.Exemplo digitei um nome errado, ou o endereço errado. Então quero ir pelo meu formulário editar esse registro e salva-lo editado na minha planilha.
- Editado Nicodemos Filho terça-feira, 20 de dezembro de 2016 14:41