ListBox, Formulário...
 
Compartilhar:
Notifications
Clear all

ListBox, Formulário, alterar base de Dados


AjHottz
Posts: 64
Registered
Topic starter
(@ajhottz)
Trusted Member
Entrou: 9 anos atrás

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

Responder
2 Respostas
MPrudencio
Posts: 2749
Registered
(@mprudencio)
Famed Member
Entrou: 7 anos atrás

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.

Responder
Siqs
Posts: 10
 Siqs
Registered
(@siqs)
Ativo
Entrou: 9 meses atrás

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,

Responder
Compartilhar: