Ir ao conteúdo

Posts recomendados

Postado

Bom dia prezados,

Estou batendo cabeça e acredito q possam me ajudar.

Tenho uma planilha com dados diversos, colunas com cidades e nomes.

Criei um listbox com filtro vinculado a um textbox. Neste filtro eu digito o nome e ele carrega na listbox.

 

Há possibilidade de ao realizar a consulta pelo nome, que esta consulta seja realizada apenas de uma cidade em especifico? Ex. apenas os Pedros de Londrina, e nao todos os pedros do Paraná inteiro, como acontece hj?

 

Segue codigo q tenho ate agora.

 

CODIGO PARA CARREGAR O LISTBOX:

Private Sub ListBox4_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

Dim Employee As Variant
      Dim Name As String
     Dim firstaddress As String
            
     Employee = Empty
  
      With ActiveSheet.Range("a1:a10000")
      
           Name = ListBox4.Value
           Set Employee = .Find(What:=Name, LookIn:=xlValues)
            If Not Employee Is Nothing Then Employee.Rows.EntireRow.Select Else Exit Sub

End Sub

 

 

 

CÓDIGO ATRELADO A TEXTBOX ONDE FAÇO A PROCURA:

Private Sub txt2_Change()

Dim guia As Worksheet
Dim valor_celula, linha, linhalistbox As Integer


Set guia = Plan1

linhalistbox = 0
linha = 2
ListBox4.Clear

With guia

While .Cells(linha, 2).Value <> Empty

valor_celula = .Cells(linha, 9).Value        " onde esta os nomes
If UCase(Left(valor_celula, Len(txt2.Text))) = UCase(txt2.Text) Then

With ListBox4
.AddItem

.List(linhalistbox, 0) = guia.Cells(linha, 1)
.List(linhalistbox, 1) = guia.Cells(linha, 2)
.List(linhalistbox, 2) = guia.Cells(linha, 4)
.List(linhalistbox, 3) = guia.Cells(linha, 9)
.List(linhalistbox, 4) = guia.Cells(linha, 22)
.List(linhalistbox, 5) = guia.Cells(linha, 25)
.List(linhalistbox, 6) = guia.Cells(linha, 39)
.List(linhalistbox, 7) = guia.Cells(linha, 40)
.List(linhalistbox, 8) = guia.Cells(linha, 40)


End With


linhalistbox = linhalistbox + 1
End If

linha = linha + 1


Wend

End With

End sub

 

Grato desde já pela atenção.

 

 

 

 

 

 

 

 

Postado

Monte um optbutton com os nomes das buscas depois aplique um filtro para cada critério, no final pode usar seu código perfeitamente para busca.

Vou postar um exemplo. aguarde que vou montar.

 

Postado

Tentei usar essa lógica, mas não consegui faze-los independentes, sempre o textbox limpa o filtro q o opt fez...

Aguardo seu exemplo.

Abraço.

 

Postado

Ola amigo, obrigado pelo retorno. Entendi seu arquivo, mas acho q nao me expressei bem talvez. O que preciso e q faça um duplo filtro, neste seu arquivo temos a opção de escolher o tipo de filtro a fazer.

Segue uma planilha com o q preciso.:

Ex. Quando eu começar a digitar o CPF, 12... ele seleciona todas as cidades, preciso que ao digitar 12... ele me traga apenas as de certo municipio (ex. apenas Toledo., e nao todos os municipios que tem pessoas com cpf começando com 12..)

 

 

 

Teste.xlsm

Postado

To buscando tempo para criar um modelo a parti do que você mim mandou, se caso já resolveu poste aqui, caso contrario vou precisar de algum tempo.

 

Estamos na luta... vai dar tudo certo. 

Postado
34 minutos atrás, JG Informatica disse:

Muito bom @osvaldomp

 

 

Valeu, Cara. :D

 

O pouco que sei tenho aprendido aqui com vocês...:thumbsup:

Postado

Olá pessoal. Muito obrigado pela ajuda, ficou perfeito. O que mais espero é adquirir conhecimento suficiente para ajudar no futuro.

Grande abraço.

 

 

Postado

@osvaldomp, não abusando , mas há possibilidade de adaptar algo a este código?

Hj ao realizar a procura do que foi digitado no textbox, ele procura e retorna ao listbox4 apenas os dados que encontra até uma linha em branco. Quando ele encontra essa linha em branco carrega apenas ate ela.

Ha como fazer que ele ignore a linha em branco e carregue todos os dados?

Obrigado.

 

Private Sub txt1_Change()


Dim guia As Worksheet
Dim valor_celula, linha, linhalistbox As Integer
Set guia = Plan1
linhalistbox = 0
linha = 2
ListBox4.Clear
With guia

While .Cells(linha, 2).Value <> Empty

 

valor_celula = .Cells(linha, 3).Value
If UCase(Left(valor_celula, Len(txt1.Text))) = UCase(txt1.Text) Then ' campus

 

valor_celula = .Cells(linha, 9).Value
If UCase(Left(valor_celula, Len(txt2.Text))) = UCase(txt2.Text) Then ' cpf


valor_celula = .Cells(linha, 39).Value
If UCase(Left(valor_celula, Len(txt3.Text))) = UCase(txt3.Text) Then ' data

valor_celula = .Cells(linha, 40).Value
If UCase(Left(valor_celula, Len(txt4.Text))) = UCase(txt4.Text) Then ' situacao

With ListBox4
.AddItem

.List(linhalistbox, 0) = guia.Cells(linha, 1)
.List(linhalistbox, 1) = guia.Cells(linha, 2)
.List(linhalistbox, 2) = guia.Cells(linha, 4)
.List(linhalistbox, 3) = guia.Cells(linha, 9)
.List(linhalistbox, 4) = guia.Cells(linha, 22)
.List(linhalistbox, 5) = guia.Cells(linha, 25)
.List(linhalistbox, 6) = guia.Cells(linha, 39)
.List(linhalistbox, 7) = guia.Cells(linha, 40)

End With
linhalistbox = linhalistbox + 1
End If
End If
End If
End If

linha = linha + 1

Wend

End With

End Sub

 

 

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!