[RESOLVIDO]Adicionar Botão para editar dados já cadastrado


#1

Galera como segue a imagem abaixo, eu tenho esse determinado formulário que apenas puxa a informação. Eu gostaria de colocar outro Button para Gravar(Editar) o que eu editar na informação é possível?

Desde já agradeço pela ajuda


#2

@jeffex, basicamente é inverter a rotina de cadastro que você já tem. Onde você atribui o valor da planilha ao TextBox, você inverte e atribui o valor da TextBox à planilha.


#3

Ok, vou tentar aqui se eu conseguir eu aviso.

Desde já muito obrigado


#4

Tentei inverter a rotina igual a imagem a baixo, porém ele não altera,e nem salva na pasta de trabalho BD e sim onde está localizado o botão que abre o formulario. o que fiz de errado kkk.

image


#5

Seria possível a postagem dessa planilha?


#6

essa é planilha teste
CONTROLE.xlsm (254,3 KB)


#7

Troque seu código edit_Click por esse:

Private Sub edit_Click()
Dim pergunta
Dim ul As Long
Dim myrange As Range
ul = Sheets("BD").Range("A" & Rows.Count).End(xlUp).Row


    If txtFornecedor.Text = "" Then
        MsgBox "Fornecedor Inválido", vbCritical
        Exit Sub
    End If
    
pergunta = MsgBox("Atenção! isso irá alterar os valores atuais do registro, pelos valores dos campos desse formulário.." _
& vbNewLine & vbNewLine & "Deseja realmente fazer isso?", vbQuestion + vbYesNo)

If pergunta = vbYes Then
    
    For i = 1 To ul
        If Sheets("BD").Range("A" & i).Text = txtFornecedor Then
            With Worksheets("BD").Range("A:A")
                Set myrange = Sheets("BD").Range("A" & i)
                    myrange.Offset(0, 1).Value = txtOda
                    myrange.Offset(0, 3).Value = txtFornitore
                    myrange.Offset(0, 4).Value = txtCDC
                    myrange.Offset(0, 5).Value = txtCnpj
                    myrange.Offset(0, 6).Value = txtEmail
                    myrange.Offset(0, 7).Value = txtContato
                    myrange.Offset(0, 8).Value = txtConta.Value
                    myrange.Offset(0, 10).Value = txtAcantonamento
                    myrange.Offset(0, 12).Value = txtApsEm.Value
                    myrange.Offset(0, 13).Value = txtSap
                    myrange.Offset(0, 15).Value = txtVencimento
            End With
            MsgBox "Editado com Sucesso!", vbExclamation
            Exit Sub
        End If
    Next i
    MsgBox "Fornecedor Inválido", vbCritical
    Set myrange = Nothing
End If

End Sub

#8

resolveu meu problema cara! muito obrigado! tava faltando muita coisa na minha rotina kkk, pensei que seria um pouco mais simples.

mas valeu mesmo.