FILTRO por PARTE do TEXTO em TEXTBOX - CARREGAR DADOS em LISTBOX Excel VBA
ฝัง
- เผยแพร่เมื่อ 24 ธ.ค. 2024
- Como fazer filtro por parte do texto digitado em Textbox Excel VBA e carregar os dados da planilha Excel que correspondam aos critérios de filtro em listbox vba. Procedimento considera se o texto da planilha Excel contém partes da palavra pesquisada e traz os registros para listbox do formulário vba . Códigos vba para filtrar por parte do texto em listbox de formulário Excel.
✅Site SGP: Venda de Coleção de Planilhas Excel VBA Prontas:
www.planilhasc...
===================
CARA VC É MUITO 10..... NA MAIOR PARTE DAS VEZES SÓ CONSIGO ENTENDERUM PROCEDIMENTOCOM VCS, PQ EM SUA BOA PARTE DOS VIDEOS DE OUTRO CANAIS DE EXCEL MAIS POPULARES OS CARAS NÃO SABEM ENSINAR.
PARABENS PELO CONTEUDO SEMPRE ASSISTO AOS SEUS VIDEOS, E NÃO SE IMPORTE COM A QUATIDADEDE LIKES, ISSO NÃO DEFINA A POTENCIAL AJUDA QUE VC DA EM SEUS VIDEOS. MUITO OBRIGADO AMIGO
Boa tarde, obrigado, sucesso em seus estudos.
Boa noite, acabei de achar onde estava o meu erro finalmente, agora deu certo .....gratidão ao pessoal do canal pelos contéudos.
Bom dia, ok.
Show! Eu queria algo exatamente assim, não queria usar filtro avançado em uma tabela, queria assim direto na listbox. Parabéns, seus vídeos são excelentes
Obrigado
Gostei muito bom.
Obrigado
Obrigado!
De nada
Video muito bom! Me ajudou demais... obrigado pela ajuda!!
Boa tarde, obrigado.
muito bom!!
Boa noite, obrigado.
Muito bom, show de bola...
Será que dava pra fazer com este mesmo arquivo, uma rotina num botão deletar ?, dai deleta o arquivo na plan e na listbox ?
Boa tarde, obrigado, acredito que o exemplo da vídeo aula no link a seguir atende sua necessidade: th-cam.com/video/HjFZm31HICs/w-d-xo.html
Pergunta, Há como fazer esse mesmo procedimento a partir de uma Tabela em banco de dados access? sei que tens um video de como efetivar consulta com o termo completo, mas não por parte de texto...
Acabei de achar o que eu precisava neste video "FILTRO entre DATAS e TEXTO em TABELA do BANCO de DADOS ACCESS via EXCEL VBA - Aula 12" Só faltou definir que o Filtro também era por parte de texto no título, mas deu certo!
Bom dia, não me atentei a este detalhe.
Parabéns pelo canal, porém não achei no seu canal, como que faço pesquisa por partes do texto carregado os dados que estão no listbox do access? Como que faço dessa mesma forma porém com os dados carregados pelo access?
Bom dia, obrigado, buscando dados no Access, tenho apenas o procedimento de filtro a seguir, que é por parte do texto. Segue link: th-cam.com/video/WTWa_KWpW1c/w-d-xo.html
Bom dia professor, neste modelo apenas é aplicado o filtro para primeira coluna, certo? Tem que repetir o código para cada coluna? Por exemplo se eu pesquisar "produto 1", tenho q pesquisar na segunda coluna e filtrar todos, o jeito então é repetir o código?
Boa tarde, segue link de exemplo com três critérios.th-cam.com/video/eBSlI6dPb6k/w-d-xo.html
Top
Obrigado.
Olá Luan, bom dia.
Estou mais uma vez precisando de ajuda. Fiz os procedimentos conforme a aula ("acho que fiz, né") e não deu muito certo. Está carregando somente a 1.a coluna para a ListBox. Até fiz conforme a aula, utilizando um filtro apenas. Na verdade eu precisaria de 3 filtros (Tipo de Operação = Saídas, Usuário e Produto). O formulário que estou com problema é o "FormularioPesquisaConsumo". Estou enviando minha planilha para o seu e-mail. Agradeceria pela ajuda. Obrigado.
Bom dia, se carrega apenas uma coluna talvez seja a prorpiedade columncount da listbox que não foi adequada.
Professor, minha planilha é Planilha2 e só tem 2 colunas para a pesquisa. Será que consegue olhar o c[odigo o que fiz de errado?
Private Sub CBFiltro_Click()
On Error GoTo Erro
Dim Linha As Double
Linha = 1
Dim Texto As String
Dim Pesquisa As String
Pesquisa = TextBox1.Text
Dim linhalistbox As Double
linhalistbox = 1
ListBox1.Clear
With ListBox1
.AddItem
.List(0, 0) = "Classificação"
.List(0, 1) = "Referências"
End With
ListBox1.ColumnWidths = "120;300;"
Do
Linha = Linha + 1
Texto = Planilha2.Cells(Linha, 2).Text 'TCliente
If UCase(Texto) Like UCase("*" & (Pesquisa) & "*") Then
If Planilha2.Cells(Linha, 2).Value "" Then
With ListBox1
.AddItem
.List(linhalistbox, 0) = Planilha2.Cells(Linha, 1).Text
.List(linhalistbox, 1) = Planilha2.Cells(Linha, 2).Text
End With
linhalistbox = linhalistbox + 1
End If
End If
Loop Until Planilha2.Cells(Linha, 2).Value = ""
Exit Sub
Erro:
MsgBox "Erro!", vbCritical, "Erro"
End Sub
Boa tarde, retorna alguma mensagem de erro?
Boa noite, tenho uma tabela de dados em uma planilha excel e sempre que eu faço o filtro em uma textbox e bloqueia as células, é só consigo digitar nas células da planilha depois de fechar e abrir o arquivo, sabe por que acontece isso.
Bom dia, talvez tenha código na macro para bloquear a planilha com senha.
@@CanalSGP tenho protegendo na plan3 e eu uso filtro na plan4
Bom dia, no final do código de filtro precisa colocar os códigos para retirar a senha, se no início tem códigos para proteger.
Mestre como faço pra fazer isso com combobox quero colocar dentro do combobox as abas da planilha que são os meses do ano, aí quero selecionar o mês na combobox e digitar o nome da pessoa na caixa de texto e pesquisar as informações necessárias.
Boa tarde, acredito ser complexo adaptar este procedimento para mais de uma aba da planilha.
Olá sou iniciante gostaria da planilha para comparar o meu não está funcionando poderia enviar...
Boa tarde, qual e-mail para envio
Na sua opinião ainda há mercado pra quem sabe programar "sómente" em VBA?
Bom dia, considerando o mercado de trabalho, com certeza saber automatizar planilhas é um diferencial. Muitas empresas ainda carecem neste campo.
professor, gostaria de saber como faço esse procedimento em uma combobox em um formulario, tipo eu começo a digitar uma palavra e para abrir todas com que tenham as letras digitadas. obrigado
Bom dia, se está se referindo a lista da combobox, por padrão já tem esta funcionalidade, basta ir digitando e vai aparecer a opção da lista.
@@CanalSGP entendi, mas , por exemplo: na minha combobox sao carregados varios itens, nomes de cidades por exemplo. porem, gostaria de fazer da seguinte forma: ao digitar parte do texto do nome da cidade, ja abrisse o campo com todas que tenham a mesma parte deste texto. exemplo: digito ...VERA... e apareça todas com esta parte do texto - VERA CRUZ, PRIMAVERA, PORTO DE VERAZ... ETC. agradeço muito e acompanhou seus videos com os quais tenho aprendido bastante
Bom dia, experimente colocar no evento change da combobox:
ComboBox1.DropDown
Vai deixar a lista aberta.
@@CanalSGP muito obrigado. Chegou bem proximo do que preciso. Vou explorar mais os filtros
Mais uma planilha show. Fiz aqui e funcionou. Agora estou tentando filtrar numa TextBox com data do tipo dia, mês e ano e filtrar só pelo dia e o mês. Tem como ajudar? estou fazendo uma adaptação numa planilha de uma aula anterior.
Bom dia, para filtro entre datas vai precisar acrescentar lógica para a data, por parte da data acredito que não vai dar certo. Segue link de filtro entre datas: th-cam.com/video/cf8pJh3bS2s/w-d-xo.html
Cara, eu fiz aqui e não funcionou. Fiz exatamente conforme a video aula. Até a planilha está igual. só está carregando o cabeçalho do list box mas sem fazer filtro algum pela parte do texto da coluna selecionada. Você tem aí o arquivo para me mostrar ?
Ótima aula, estou sempre aprendendo, mas estou tendo dificultades, pois esta aparecendo somente um item na ListBox1, e tenho 5 colunas que quero adicionar, mas aparece somente uma, pelo F8 passa tranquilo, e mostra que esta sendo adicionado, mas não mostra, muito interessante não é, aproveitando, poderia me mandar essa planilha por gentileza. Agradeço muito a atenção. E pensando melhor fiz a compra de suas planilhas.
Boa tarde, que bom, verifique a propriedade Column Count da listbox, se estiver um altere para 5.
Professor como eu faço isso sem usar planilha? Pesquisar na llist que não é alimentada por planilha e sim via codigo?
Boa noite, talvez o procedimento no link a seguir possa ser útil neste caso. th-cam.com/video/t7oJalCmgsw/w-d-xo.html
boa tarde, o comando para limpar a list box ? grato
Bom dia, o código para limpar é Listbox1.Clear
Olá, tudo bem? A parte onde deveria imprimir o cabeçalho (With Lista_Graduacao.AddItem.List(0, 0) = "PROFISSIONAL".List(0, 1) = "GRADUAÇÃO".List(0, 2) = "PÓS" End With), está imprimindo apenas a primeira coluna e acredito que isso irá afetar todo o restante do código, seria possível me informar o que pode estar ocorrendo? Grato.
Bom dia, altere a propriedade columcount da listbox.
@@CanalSGP Cara, você tirou um fardo ENORME que eu estava tendo, seu conteúdo é muito massa e está me ajudando bastante, muito obrigado meu caro. OBS: A celeridade na comunicação com seus inscritos é incrível, parabéns pela empatia.
Boa tarde, obrigado.
Boa noite! MUITO BOM O VÍDEO! No meu caso eu listo arquivos dentro de uma pasta, porém eu também queria ter esta opção de pesquisar por nome os arquivos dentro da pasta. Se puder me ajudar te agradeço!
Bom dia, obrigado, neste sentido não tenho procedimento ainda.
Boa noite ! Estou precisando de uma explicação de como filtrar na listbox e depois inserir dados selecionados da Listbox para a planilha. 🙋♂️
Bom dia, segue link de vídeo aula explicativa:th-cam.com/video/7iTQ7kHDcbk/w-d-xo.html
Eu queria algo exatamente assim, não queria usar filtro avançado em uma tabela, queria assim direto na listbox. Porem com os dados do Banco de Dados Access
Bom dia, tem o procedimento da aula no link a seguir. th-cam.com/video/yDwXLrq77os/w-d-xo.html
Professor, parabéns pelas aulas! Tenho uma dúvida, escrevi uma list box com arrays e nas consultas gostaria de usar parte do texto como objeto da consulta mas o textbox aceita somente o valor completo para consulta, alguma sugestão? Algo como Stringcomparision? Obrigado!
Private Sub TextBox1_Change()
TextBox1.Text = UCase(TextBox1.Text)
End Sub
Private Sub TextBox2_Change()
TextBox2.Text = UCase(TextBox2.Text)
End Sub
Private Sub TextBox3_Change()
TextBox3.Text = UCase(TextBox3.Text)
End Sub
Private Sub CommandButton1_Click()
If ListBox1.ListCount < 1 Then
Call Carregar_Listbox
End If
For Item = 1 To ListBox1.ListCount - 1
If TextBox1 "" Then
On Error Resume Next
If ListBox1.List(Item, 0) = TextBox1.Text Then
Else
ListBox1.RemoveItem (Item)
Item = Item - 1
ListBox1 = Null
End If
End If
Next
For Item = 1 To ListBox1.ListCount - 1
If TextBox2 "" Then
On Error Resume Next
If ListBox1.List(Item, 1) = TextBox2.Text Then
Else
ListBox1.RemoveItem (Item)
Item = Item - 1
ListBox1 = Null
End If
End If
Next
For Item = 1 To ListBox1.ListCount - 1
If TextBox3 "" Then
On Error Resume Next
If ListBox1.List(Item, 4) = TextBox3.Text Then
Else
ListBox1.RemoveItem (Item)
Item = Item - 1
ListBox1 = Null
End If
End If
Next
End Sub
Private Sub CommandButton2_Click()
ListBox1.Clear
End Sub
Private Sub fechar_programa_Click()
Unload Formulario2
End Sub
Private Sub UserForm_Initialize()
Call Carregar_Listbox
End Sub
Sub Carregar_Listbox()
Planilha2.Select
Dim arrayItems()
With Planilha2
ReDim arrayItems(1 To .UsedRange.Rows.Count, 1 To .UsedRange.Columns.Count)
ListBox1.ColumnCount = .UsedRange.Columns.Count
For Linha = 1 To .UsedRange.Rows.Count
ListBox1.AddItem
For Coluna = 1 To .UsedRange.Columns.Count
arrayItems(Linha, Coluna) = .Cells(Linha, Coluna).Value
Next Coluna
Next Linha
ListBox1.List = arrayItems()
End With
ListBox1.ColumnWidths = "160;100;80;130;60;100;80;80;100;160;80;130;100;70;70;70;70;70;70"
End Sub
Private Sub UserForm_Click()
End Sub
Boa tarde, obrigado, vou estudar essa necessidade.
Toppp, porém quando faço a parte do cabeçalho o .list(0,10)="status" da erro não funciona somente funciona até o (0,9) onde posso alterar pra ler esse título ?
Boa noite, listbox por padrão carrega apenas dez colunas. Para mais de dez colunas pode tentar o procedimento da vídeo aula no link a seguir: th-cam.com/video/uT7FgwEDVCA/w-d-xo.html
Cara vc explica muito bem, ta de parabéns....
Só que mesmo seguindo do jeito que vc ta falando, quando clico para executar, não aparecem as outras colunas, apenas a primeira kkkkk, e eu ja fiz e refiz seguindo seu tutorial , mas mesmo assim não aparece, pode ser o que ?
Agradeço a atenção e que Deus lhe abençoe .
Bom dia, obrigado, verifique a propriedade columcount do listbox e altere para a quantidade de colunas.
Boa noite pessoal do canal, me enviem a planilha pois revirei o codigo aqui muitas vezes e não executa conforme está na aula
Boa noite, planilha enviada.
Os dados no meu listbox sairam todos desalinhaos em relação ao cabeçalho , diferentemente do do que ocorre aqui no video. Por que isso ocorre ?
Boa tarde, precisa ir testando até que encontre o erro, é difícil saber exatamente em qual linha de código está o erro.
Alguém pode me ajudar ? Meu msgbox não está aparecendo quando coloco o form para rodar, a questão é que usei um código praticamente igual para outro botão salvar dentro desse mesmo form e tem funcionado, agora para o outro botão salvar ta dando pau, o form faz o cadastro alimentando a planilha mas não exibe o msgbox. Será que é bug no excel ?
Bom dia, verifique se tem algum comando exit sub no procedimento.
@@CanalSGP tem sim . Posso te mandar a planilha por email pra tentar me ajudar ?
Retire a linha e código.
@@CanalSGP vou tentar , muito obrigado. Daqui a pouco aviso se deu bom
Não deu certo, ainda não aparece o msg box . Estranho demais .
professor, reveja e adapte esse codigo para carregar os dados da segunda coluna na hora do filtro,
Me.ListBox1.Clear
ultlinea = Worksheets("BD_CLIENTE").Range("A5").End(xlDown).Row
For i = 5 To ultlinea
If LCase(Worksheets("BD_CLIENTE").Range("A" & i).Value) Like "*" & LCase(TextBox1.Text) & "*" Then
Me.ListBox1.Visible = True
Me.ListBox1.AddItem Worksheets("BD_CLIENTE").Range("A" & i).Value
End If
Next i
Boa noite, não entendi exatamente sua dúvida.
@@CanalSGP Professor esse código filtra uma lista com nomes de cientes numa planilha. A lista aparece numa listbox, baseado numa textbox. Eu queria que fosse exibida as informações da coluna ao lado, que no meu cenário seria o endereço do cliente.
Bom dia, tente o código a seguir.
Me.ListBox1.AddItem Worksheets("BD_CLIENTE").Range("A" & i).Value
Me.ListBox1.list(listbox1.listcount - 1, 1) = Worksheets("BD_CLIENTE").Range("A" & i).Value
Mas precisa alterar a propriedade columcount da listbox para dois.
podem me mandar a planiha com esse exercício para eu tentar ver onde errei ? Pois estou conseguindo carregar o list box porém o filtro não etá funcionando
Boa tarde, qual e-mail para envio.
Sou iniciante queria essa planilha
Boa noite, planilha enviada.
CANAL SGP obrigado
@@CanalSGP preciso dessa planilha pra comparar também, o meu deu erro
Boa noite, planilha enviada.
@@CanalSGP Poderia me enviar?
Fiz o mesmo código mas deu a mensagem: "Instrução Inválida fora de um bloco Type" na linha "Linha as Double"
Boa tarde, deixe seu e-mail que envio a planilha da aula.
@@CanalSGP boa tarde
gabriellmelo1234@gmail.com
obrigado
Bom dia, planilha enviada.
O meu so aparece o cabeçalho
*Resolvi tinha colocado a Pesquisa dentro de aspas
Boa tarde, entendido.
Boa noite, estou ficando pirado com esses códigos, alguém pode me ajudar ? Fiz exatamente como pede na aula e esta dando erro nessas linhas aqui:
List(LINHALISTBOX, 0) = Planilha3.Cells(LINHA, 2).Text
.List(LINHALISTBOX, 1) = Planilha3.Cells(LINHA, 3).Text
.List(LINHALISTBOX, 3) = Planilha3.Cells(LINHA, 4).Text
.List(LINHALISTBOX, 4) = Planilha3.Cells(LINHA, 5).Text
.List(LINHALISTBOX, 5) = Planilha3.Cells(LINHA, 6).Text
.List(LINHALISTBOX, 6) = Planilha3.Cells(LINHA, 7).Text
.List(LINHALISTBOX, 7) = Planilha3.Cells(LINHA, 8).Text
Só consigo filtrar parte do conteúdo da coluna que determinei para o filtro. Alguém poderia me salvar ??
Boa noite, vai ser considerado somente da coluna que foi definida para filtro, cada coluna precisa de uma condição.
@@CanalSGP Sim, eu entendi esse detalhe, mas não está filtrando que nem aparece na sua video aula.