none
Botão Editar RRS feed

  • 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


    segunda-feira, 19 de dezembro de 2016 17:46

Todas as Respostas

  • Sua rotina de editar não faz absolutamente nada, além de checagens.

    Você deveria inserir código lá para que fosse gravados dados do formulário para a planilha, não?


    http://www.ambienteoffice.com.br

    segunda-feira, 19 de dezembro de 2016 20:19
    Moderador
  • Ok. Meu problema é esse. quais códigos devo inserir para que edite e depois salve.
    terça-feira, 20 de dezembro de 2016 00:54
  • 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

    terça-feira, 20 de dezembro de 2016 10:28
    Moderador
  • Fiz como instruiu. Porém só alterou a célula nome as outras ficaram do mesmo jeito
    terça-feira, 20 de dezembro de 2016 13:26
  • 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

    terça-feira, 20 de dezembro de 2016 13:29
    Moderador
  • 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.
    terça-feira, 20 de dezembro de 2016 14:41