Filtra_Lixtbox_VBA

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA

Re: Filtra_Lixtbox_VBA

Mensagempor joseA » Qua Jun 06, 2012 9:59 am

Adonias escreveu:...Ainda continua exibindo a mesma data do itam da primeira linha...
:(
Como assim...

Aqui foi normal.
Se o post lhe agradou clique no sinal de positivo (ao lado de citar).
Avatar do usuário
joseA
 
Mensagens: 849
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG
Agradecimentos dados: 26 vezes
Agradecimentos recebidos: 104 vezes

Re: Filtra_Lixtbox_VBA

Mensagempor Adonias » Qua Jun 06, 2012 11:44 am

JoseA, amigo tentei de várias formas ontem até a amdarugada e não descobri o que esta fazendo com que a primeira seleção de um CPF que apareça mais de uma vez no filtro fixe a data no textbox e não muda quando você muda a escolha no list.

Faça um teste você mesmo e verá que quando começa a digitar 222 ficam apenas duas linhas dos dois processos para este CPF, mas qundo você seleciona um o textbox data fica fixo.

Se descobrir o porque poste por favor

obrigado
Adonias
 
Mensagens: 52
Registrado em: Sáb Jun 02, 2012 12:55 pm
Agradecimentos dados: 0 vez
Agradecimentos recebidos: 3 vezes

Re: Filtra_Lixtbox_VBA

Mensagempor Adonias » Qua Jun 06, 2012 11:47 am

JoseA, amigo tentei de todas as forma ontem até a madrugada e não consegui descobri onde está o erro que faz com que o textbox data fixa o primeiro item selecionado no filtro.
Repare que quando você começa a digitar 222 ficam apenas os dois processo que constam para este CPF, mas logo que você escolhe um deles o campo data não muda mais após você selecionar o outro. Caso descubra me avise

Obrigado
Adonias
 
Mensagens: 52
Registrado em: Sáb Jun 02, 2012 12:55 pm
Agradecimentos dados: 0 vez
Agradecimentos recebidos: 3 vezes

Re: Filtra_Lixtbox_VBA

Mensagempor joseA » Qua Jun 06, 2012 7:25 pm

Devido a existência de dois CPF's iguais. Isso ocorrerá na sua lista? Caso sim, deverás trabalhar com identificação de linha.
Se o post lhe agradou clique no sinal de positivo (ao lado de citar).
Avatar do usuário
joseA
 
Mensagens: 849
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG
Agradecimentos dados: 26 vezes
Agradecimentos recebidos: 104 vezes

Re: Filtra_Lixtbox_VBA

Mensagempor Adonias » Qui Jun 07, 2012 9:40 am

JoseA, a idéia desse filtro é encontrar os vários processos que foram cadastrados por CPF.
Logo, se houver sido cadastrado mais de um processo num CPF quando eu fizer a busca pelo CPF deverá aparecer os vários processos para aquele CPF para que eu escolha o processo que quero colocar nos Textbox.

O erro creio que seja na função abaixo nesse termo PrimEndereço = C.Addres
confesso que não decifrei muito bem o que ess código faz, mas ele tá gerando esse erro: fixa o primeiro item quando aparece um CPF com mais de um processo.
Repita na sua planilja o mesmo CPF com os outros dados diferente e teste


Sub PESQUISA()

Dim PrimEndereço, C As Range
With Sheets("Plan1").Range("A2:A65000")
Set C = .Find(TextBox2.Text, LookIn:=xlValues, LOOKAT:=xlPart, MatchCase:=False)
If Not C Is Nothing Then
PrimEndereço = C.Address
Do

Me.TextBox3 = Sheets("Plan1").Range("B" & C.Row).Value
Me.TextBox4 = Sheets("Plan1").Range("C" & C.Row).Value
Me.TextBox5 = Sheets("Plan1").Range("D" & C.Row).Value

Set C = .FindNext(After:=C)
Loop While Not C Is Nothing And C.Address <> PrimEndereço
End If
End With
End Sub
Adonias
 
Mensagens: 52
Registrado em: Sáb Jun 02, 2012 12:55 pm
Agradecimentos dados: 0 vez
Agradecimentos recebidos: 3 vezes

Re: Filtra_Lixtbox_VBA

Mensagempor joseA » Qui Jun 07, 2012 11:47 am

Adonias,

É que pelo metódo "Find" sempre retorna o 1º valor. Altere a rotina de pesquisa para essa:

Código: Selecionar todos
Sub PESQUISA()
'Autor: José Arnaldo do nascimento
    Dim i As Long
    Dim lItem As Double
   
   
    For lItem = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(lItem) = True Then
           ' Me.TextBox2.Value = ListBox1.List(lItem, 0)
            Me.TextBox3 = ListBox1.List(lItem, 1)
            Me.TextBox4 = ListBox1.List(lItem, 2)
            Me.TextBox5 = ListBox1.List(lItem, 3)
        End If
        ListBox1.Selected(lItem) = False
    Next

End Sub
Se o post lhe agradou clique no sinal de positivo (ao lado de citar).
Avatar do usuário
joseA
 
Mensagens: 849
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG
Agradecimentos dados: 26 vezes
Agradecimentos recebidos: 104 vezes

Re: Filtra_Lixtbox_VBA

Mensagempor Adonias » Qui Jun 07, 2012 12:28 pm

Excelente JoseA,

Valeu mesmo amigo
Creio que ainda vou lhe pertubar um pouquinho ou a qualquer outro de forum que tenha tamanhao boa vontade
Estou precisando gerar um relatório que apresente todos os processos com prazo vencido
Para isto há uma coluna na planilha que deve indicar quantos dias está em atraso e se está em atraso a apresentar no relatório somente os processos que estiverem em atraso.

Ainda não comecei a fazer, creio que as dúvidas surgiram quando adentrar ao problema.

É bom saber ue podemos aprender com vocês

abraço
Adonias
 
Mensagens: 52
Registrado em: Sáb Jun 02, 2012 12:55 pm
Agradecimentos dados: 0 vez
Agradecimentos recebidos: 3 vezes

Re: Filtra_Lixtbox_VBA

Mensagempor joseA » Qui Jun 07, 2012 2:04 pm

;)
Se o post lhe agradou clique no sinal de positivo (ao lado de citar).
Avatar do usuário
joseA
 
Mensagens: 849
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG
Agradecimentos dados: 26 vezes
Agradecimentos recebidos: 104 vezes

Re: Filtra_Lixtbox_VBA

Mensagempor Adonias » Qua Jul 04, 2012 9:53 pm

JoseA, só uma dúvida que me surgiu agora:

Temos a definição da Variável:
Private Const NomePlanilha As String = "Plan1"

Acontece que eu tenho uma multipage com 3 pages e em cada page eu tenho uma busca sendo que em duas delas a busca recorre a uma planilha e no terceiro recorre a aoutra

Onde eu deveria escrever esse código e como ele deveria ficar para que eu pudesse utilizar as mesmas funçoes em todas as buscas que eu frealizasse mesmo que em planilhas diferentes dentro da mesma pasta de trabalho, claro.

Grato
Adonias
 
Mensagens: 52
Registrado em: Sáb Jun 02, 2012 12:55 pm
Agradecimentos dados: 0 vez
Agradecimentos recebidos: 3 vezes

Re: Filtra_Lixtbox_VBA

Mensagempor joseA » Qui Jul 05, 2012 4:34 pm

Tente colocar uma condicional para variável ou crie uma para cada planilha.
Se o post lhe agradou clique no sinal de positivo (ao lado de citar).
Avatar do usuário
joseA
 
Mensagens: 849
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG
Agradecimentos dados: 26 vezes
Agradecimentos recebidos: 104 vezes

Anúncios

AnteriorPróximo

Voltar para VBA Básico

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitantes

cron