ListBox, Formulário...
 
Notifications
Clear all

ListBox, Formulário, alterar base de Dados

3 Posts
3 Usuários
0 Reactions
1,951 Visualizações
(@ajhottz)
Posts: 64
Trusted Member
Topic starter
 

Boa tarde pessoal,
Sou muito básico com VBA ainda, tudo que fiz até agora foi através de diversas pesquisas na internet, mas agora travei
Vamos ao que preciso:

Preencher a planilha Cadastro com o frmCadastro. Essa parte consegui
Após isso gostaria de consultar os dados na frmConsulta. Que também está funcionando (porém não consegui incluir o cabeçalho, se alguem souber como fazer fico grato, por isso não puxei todas as colunas no listbox)

Agora vem o problema:

Gostaria de com um click no listbox, ele preencher o frmCadastro, e com isso ao invés de gerar uma linha alterar a linha selecionada no ListBox. É possível?
Segue em anexo essa planilha do mal

Senha do VBA e para liberar a planilha é 1234

https://www.dropbox.com/s/zauopbpu5f126tx/Planilha%20FINAL%20Conselho%20v2.zip?dl=0

 
Postado : 27/11/2019 3:51 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Não olhei a planilha, mas vc precisa de duas coisas.

A primeira é ter uma informação exclusiva, um código que não se repita, e com essa informação fazer um loop para localizar esse registro na sua base, assim vc consegue fazer as alterações.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 30/11/2019 6:32 am
 Siqs
(@siqs)
Posts: 12
Active Member
 

Boa tarde pessoal!

Estou com o mesmo problema e além de não alterar a linha correta insere o registro em uma linha muito abaixo a tabela formatada (pelo menos 10 linhas abaixo). O código que estava tentando para essa solução era o seguinte:

Sub EDITAR()

Bloquado = True
Dim TABELA As ListObject
Dim N As Integer, L As Integer
Set TABELA = Planilha1.ListObjects(1)

N = UserForm1.ListBox1.Value
L = TABELA.Range.Columns().Find(N, , , xlWhole).Row

TABELA.Range(L, 3).Value = UserForm1.TDATA.Value
TABELA.Range(L, 4).Value = UserForm1.THSAÍDA.Value
TABELA.Range(L, 5).Value = UserForm1.TKMINICIO.Value
TABELA.Range(L, 6).Value = UserForm1.TVEÍCULO.Value
TABELA.Range(L, 7).Value = UserForm1.TMOTORISTA.Value
TABELA.Range(L, 8).Value = UserForm1.TSERVIÇO.Value
TABELA.Range(L, 9).Value = UserForm1.TOSCOLAFI.Value
TABELA.Range(L, 10).Value = UserForm1.THCHEGADA.Value
TABELA.Range(L, 11).Value = UserForm1.TKMFINAL.Value
TABELA.Range(L, 14).Value = UserForm1.TABASTECIMENTO.Value
TABELA.Range(L, 15).Value = UserForm1.TPOSTO.Value
TABELA.Range(L, 16).Value = UserForm1.TQTDLITROS.Value
TABELA.Range(L, 17).Value = UserForm1.TNOTA.Value
TABELA.Range(L, 18).Value = UserForm1.TMANUTENÇÃO.Value
TABELA.Range(L, 19).Value = UserForm1.TFRETE.Value
TABELA.Range(L, 20).Value = UserForm1.TDATAPGTO.Value
TABELA.Range(L, 21).Value = UserForm1.THEXTRAAM.Value
TABELA.Range(L, 22).Value = UserForm1.THEXTRAPM.Value
TABELA.Range(L, 23).Value = UserForm1.TALIMENTAÇÃO.Value
TABELA.Range(L, 25).Value = UserForm1.TOBSERVAÇÕES.Value

Call ATUALIZAR_LISTBOX
Call LIMPAR_FORMULÁRIO
MsgBox "ATUALIZADO COM SUCESSO!"
BLOQUEADO = False

End Sub

 

E não sei o que fazer mais, sigo pesquisando, mas até agora só batendo cabeça...planilha em anexo também! 

Abraço,

 
Postado : 27/06/2022 5:29 pm