Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Duplo Clique Enviar dados

Esclarecimentos e dúvidas sob o Modelo de Aplicativo de Cadastro em VBA no Microsoft Excel publicado no site e blog http://www.tomasvasquez.com.br
NERI INACIO
Colaborador
Colaborador
Mensagens: 62
Registrado em: Sáb Fev 27, 2016 7:31 pm

Duplo Clique Enviar dados

Mensagem por NERI INACIO »

Tenho um Listview num Pesquisar que envia dados (código e nome dos clientes) para um formulário com um duplo clique.
No Pesquisar tenho o seguinte código:
Private Sub ListView1_DblClick()
Dim j As Integer
j = (ListView1.SelectedItem.Index) + 1
FrmObras.txtCodigoref = Plan1.Range("a" & j).Value
FrmObras.PESQUISA
Unload Me
End Sub

E no formulário que recebe tem o seguinte:
Sub PESQUISA()
Dim QualLinha: QualLinha = LocalizarLinha(txtCodigoref, wsCadastro.Range("A1:A65000"))
QualLinha = QualLinha + 1
txtCodigoref = wsCadastro.Range("A" & QualLinha)
txtcliente = wsCadastro.Range("B" & QualLinha)
indiceRegistro = QualLinha
AtualizaRegistroCorrente
End Sub

Private Function LocalizarLinha(Qual, Área As Range)
Dim PrimEndereço, c
With Área
Set c = .Find(Qual, LookIn:=xlValues)
If Not c Is Nothing Then
PrimEndereço = c.Address
LocalizarLinha = c.Row - 1
End If
End With
End Function

Este pesquisar funciona bem.

Acontece que, se eu alterar no Listview para FrmContasPagar e no formulário que recebe colocar os outros dois códigos (Pesquisar e LocalizarLinha), não funciona mais. Na verdade, o código da linha envia, mas o nome do cliente não vai. O que ele busca, é o lançamento correspondente ao código que ele leva. Exemplo: se clicar no 3º cliente (código 3), ele leva o 3 para o outro formulário e pega os dados do 3º lançamento (não pega o nome do cliente 3).

Por que será?


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


NERI INACIO
Colaborador
Colaborador
Mensagens: 62
Registrado em: Sáb Fev 27, 2016 7:31 pm

Re: Duplo Clique Enviar dados

Mensagem por NERI INACIO »

Consegui resolver com o codigo abaixo:

Private Sub ListView1_DblClick()

Dim j As Integer
j = (ListView1.SelectedItem.Index) + 1
Index = (ListView1.SelectedItem.Index) 'linha do ListView

FrmObras.txtcliente.Value = ListView1.ListItems(Index).ListSubItems(1).Text '2ª coluna do ListView

Unload Me

End Sub

Foi simples e fácil....


Responder