Notifications
Clear all

Editar Dados na Planilha

9 Posts
2 Usuários
0 Reactions
1,100 Visualizações
 Reef
(@reef)
Posts: 30
Eminent Member
Topic starter
 

Olá, me chamo Thiago, sou novo aqui e novo em VBA.

Preciso de ajuda em um projeto que fiz através de vídeos na internet, estou tentando dá funcionalidade ao "Botão Editar" no meu projeto, para que possa editar cadastros já realizados, tentei vários códigos que encontrei na internet mais não consegui encaixar nenhum no meu projeto.

Vi métodos com o "Botão Editar" e alguns que atualizam no próprio "Botão Salvar" após localizar o cadastro.

Segue meu projeto em anexo.

Desde já agradeço qualquer ajuda que possa vir.

Abraços.

 
Postado : 15/03/2016 3:51 pm
fcarlosc
(@fcarlosc)
Posts: 453
Honorable Member
 

Olá amigo.
Troquei o botão "Editar" para "Atualizar", pois quando faz a pesquisa já chama as informações no modo de edição. Ficou faltando no botão "Atualizar" carregar a imagem, da uma olhada e adapte ao seu projeto.

att,

Francisco

 
Postado : 15/03/2016 5:27 pm
 Reef
(@reef)
Posts: 30
Eminent Member
Topic starter
 

Verifiquei aqui, o que está acontecendo foi o que já aconteceu anteriormente, só atualiza o primeiro campo que é "Nome", os outros não alteram.

Eu já havia conseguido isso antes com outros dois códigos, mais não conseguia fazer ele atualizar todos os campos do cadastro.

Agradeço a ajuda e fico no aguardo de mais alguém ajudar.

Abraços.

 
Postado : 15/03/2016 6:26 pm
 Reef
(@reef)
Posts: 30
Eminent Member
Topic starter
 

O código que eu havia usado no botão atualizar é esse:

Private Sub bt_atualizar_Click()

Dim localimagens As String
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("BancodeDados")

Range("A2").Select

While ActiveCell <> ""

    If cb_localizar.Text = ActiveCell Then
    If MsgBox("Cadastro já Existente. Deseja Substituir?", vbYesNo) = vbYes Then
    GoTo Continue
    End If
    
    End If
    
ActiveCell.Offset(1, 0).Activate

Wend
Continue:
iRow = ActiveCell.Row

'Abaixo começa a gravação dos dados.

ws.Cells(iRow, 1).Value = Me.tb_nome.Value
ws.Cells(iRow, 2).Value = Me.tb_rg.Value
ws.Cells(iRow, 3).Value = Me.tb_cpf.Value
ws.Cells(iRow, 4).Value = Me.tb_endereco.Value
ws.Cells(iRow, 5).Value = Me.tb_numero.Value
ws.Cells(iRow, 6).Value = Me.tb_bairro.Value
ws.Cells(iRow, 7).Value = Me.tb_cidade.Value
ws.Cells(iRow, 8).Value = Me.cb_estado.Value
ws.Cells(iRow, 9).Value = Me.tb_cep.Value
ws.Cells(iRow, 10).Value = Me.tb_telefone.Value
ws.Cells(iRow, 11).Value = Me.tb_vende.Value
localimagens = Cells(iRow, 12)
img_perfil.Picture = LoadPicture(localimagens)

'Mensagem de sucesso na gravação.

MsgBox "Dados gravados com sucesso!", vbInformation, "Atenção!"

'Limpando dados da caixa.

tb_nome = ""
tb_rg = ""
tb_cpf = ""
tb_endereco = ""
tb_numero = ""
tb_bairro = ""
tb_cidade = ""
cb_estado = ""
tb_cep = ""
tb_telefone = ""
tb_vende = ""
cb_localizar = ""
img_perfil.Picture = LoadPicture("")

'Voltar o foco para a caixa nome.

tb_nome.SetFocus

'Caixa localizar.
cxlocalizar = Worksheets("BancodeDados").UsedRange.Rows.Count
cb_localizar.RowSource = "BancodeDados!a2:a" & cxlocalizar

'Ordenar Localizar

ORDENAR

'Comando para salvar a planilha.

ActiveWorkbook.Save

End Sub

Com ele eu consigo alterar o Nome, que se encontra na primeira coluna, mais o restante do formulário não atualiza.

Alguém pode ajudar ?

 
Postado : 15/03/2016 7:27 pm
fcarlosc
(@fcarlosc)
Posts: 453
Honorable Member
 

O problema está na caixa "Localizar" o evento está como "Click()" troca para "AfterUpdate()".

Private Sub cb_localizar_Click() para Private Sub cb_localizar_AfterUpdate()

att,

Francisco

 
Postado : 15/03/2016 8:40 pm
 Reef
(@reef)
Posts: 30
Eminent Member
Topic starter
 

Obrigado pela ajuda até agora Francisco.

Encontrei mais 3 erros após as mudanças.

1. Depois que adicionei o "AfterUpdate()" no "Localizar" quando seleciono um nome na Caixa de Localizar o cadastro n preenche, é preciso clicar em algum lugar para o mesmo aparecer.
2. O campo CPF não está atualizando, o resto tá atualizando normal.
3. Outra coisa, antes da mudança do "AfterUpdate()", o Localizar estava puxando a Imagem, e agora não está mais.

Quantos problemas né :(

Desculpem o trabalho pessoal, estou fazendo de tudo para resolver sozinho mais tá complicado.

Abraços

 
Postado : 15/03/2016 9:36 pm
fcarlosc
(@fcarlosc)
Posts: 453
Honorable Member
 

Bom-dia.
A imagem eu deixei como comentário, pois pedia a imagem quando eu ia rodar o "form", vou dar uma olhada no cpf. Agora na caixa localizar não preencher o formulário, por hora vou ficar devendo.

att,

Francisco

 
Postado : 16/03/2016 6:07 am
fcarlosc
(@fcarlosc)
Posts: 453
Honorable Member
 

Dá uma olhada nesse agora.

 
Postado : 16/03/2016 6:13 am
 Reef
(@reef)
Posts: 30
Eminent Member
Topic starter
 

Olá Francisco, ficou bom. Deu pra entender essa parte do botão atualizar.

Agradeço muito a ajuda.

Eu agora tô refazendo o projeto do zero pois vi que preciso entender mais os códigos e sua funções.
Tá dando certo por enquanto, estou melhorando aos poucos.

Por tanto peço que algum moderador Feche esse tópico. As dúvidas que surgirem posteriormente eu volto a procurar o Fórum.

Abraços!

 
Postado : 16/03/2016 2:08 pm