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

[RESOLVIDO]Estou precisando de ajuda no vba

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
CH7
Colaborador
Colaborador
Mensagens: 12
Registrado em: Qui Jan 31, 2019 12:13 pm

[RESOLVIDO]Estou precisando de ajuda no vba

Mensagem por CH7 »

Então, o meu problema é o seguinte:
Estou querendo fazer uma buscar pela a palavra "skill", essa palavra fica na coluna W, teria varias palavras dessas na mesma coluna que vai até a linha 7000(+ ou -) e eu queria puxar somente as linhas que tem a palavra skill na coluna "W "para uma listview no meu form (puxar a linha inteira da coluna "A"até a coluna "w"), segue um exemplo de uma planilha nos anexos.

Obrigado por perder um pouco desse tempo que vocês tem ajudando, espero que consigam me ajuda, obrigado.
Anexos
Exemplo.zip
(25.37 KiB) Baixado 196 vezes
Um exemplo da planilha que eu iria puxar somente as linhas com a palavra skill.
Um exemplo da planilha que eu iria puxar somente as linhas com a palavra skill.
HP.png (107.79 KiB) Exibido 5266 vezes
Editado pela última vez por CH7 em Seg Fev 11, 2019 12:03 pm, em um total de 2 vezes.


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.


Wagner Morel
Manda bem
Manda bem
Mensagens: 107
Registrado em: Qua Nov 29, 2017 11:51 am
Localização: Fortaleza - CE

Re: Estou precisando de ajuda no vba

Mensagem por Wagner Morel »

CH7,

Bom dia!

Anexe seu arquivo ou um exemplo dele bem pequeno (máximo de 5 linhas), aqui mesmo no fórum, compactado com .ZIP.


Avatar do usuário
LaerteB
Colaborador
Colaborador
Mensagens: 96
Registrado em: Qui Out 19, 2017 8:20 am

Re: Estou precisando de ajuda no vba

Mensagem por LaerteB »

Boa tarde, CH7

Amigo, eu criei um arquivo exemplo "Exemplo pesquisa por palavra solução1" , pelo que
entendi da sua dúvida :?: :? ...

Antes de explicar este arquivo, queria reforçar a informação que o nosso amigo Wagner Morel escreveu;
é muito importante você anexar uma planilha de exemplo com dados (fictícios) e que não seja o
projeto inteiro (com o trecho que está com dificuldades); explicando com as informações necessárias
para alcançar o seu objetivo (se necessário incluir imagens elucidativas), desta forma podemos ajudá-lo com
maior rapidez e eficácia (a maioria nem olharia este Tópico sem um arquivo exemplo, pois
existe muitas "variáveis" que podem impossibilitar o sucesso parcial ou total da solução proposta,
se não tiver um arquivo exemplo que for disponibilizado) ;) ...

No Exemplo que disponibilizei existe um inputbox para tu escolher a palavra ou texto que for fazer a
busca.. quando encontrado será incluído no Listview1 todas as linhas que contenham a palavra ou o
texto que escreveu... espero que seja o que queria :) ...

Dica: para que seu Tópico seja visto, por mais integrantes deste Fórum, é importante escrever
(com poucas palavras, para não exceder a "caixa Título" - Tópico) o conteúdo de sua dúvida real.. ;)

Qualquer dúvida estamos aqui :)

Aguardando sua resposta e seu Feed Back ... se foi útil, por gentileza deixar um Smille: :D

LaerteB :D
Anexos
Exemplo_ pesquisa_ por_ palavra_ solucao1.zip
(26.05 KiB) Baixado 189 vezes


CH7
Colaborador
Colaborador
Mensagens: 12
Registrado em: Qui Jan 31, 2019 12:13 pm

Re: Estou precisando de ajuda no vba

Mensagem por CH7 »

LaerteB escreveu: Dom Fev 03, 2019 2:28 pm Boa tarde, CH7

Amigo, eu criei um arquivo exemplo "Exemplo pesquisa por palavra solução1" , pelo que
entendi da sua dúvida :?: :? ...

Antes de explicar este arquivo, queria reforçar a informação que o nosso amigo Wagner Morel escreveu;
é muito importante você anexar uma planilha de exemplo com dados (fictícios) e que não seja o
projeto inteiro (com o trecho que está com dificuldades); explicando com as informações necessárias
para alcançar o seu objetivo (se necessário incluir imagens elucidativas), desta forma podemos ajudá-lo com
maior rapidez e eficácia (a maioria nem olharia este Tópico sem um arquivo exemplo, pois
existe muitas "variáveis" que podem impossibilitar o sucesso parcial ou total da solução proposta,
se não tiver um arquivo exemplo que for disponibilizado) ;) ...

No Exemplo que disponibilizei existe um inputbox para tu escolher a palavra ou texto que for fazer a
busca.. quando encontrado será incluído no Listview1 todas as linhas que contenham a palavra ou o
texto que escreveu... espero que seja o que queria :) ...

Dica: para que seu Tópico seja visto, por mais integrantes deste Fórum, é importante escrever
(com poucas palavras, para não exceder a "caixa Título" - Tópico) o conteúdo de sua dúvida real.. ;)

Qualquer dúvida estamos aqui :)

Aguardando sua resposta e seu Feed Back ... se foi útil, por gentileza deixar um Smille: :D

LaerteB :D
Bom dia, LaerteB e colaboradores.
Desculpa por esse erro, sou novo aqui, espero melhorar meus topicos a partir de agora.

O exemplo que foi me disponibilizado é quase o que eu estava procurando, eu só não entendo como colocar as palavras em um grupo, Exemplo: a palavra "skill" e "montagem" ficam no grupo "utilities" e as palavras "folha" e "carta" ficam no grupo "utilities2", tudo dentro de um combobox. Ao clicar na palavra "utilities" no combobox queria que ele puxasse as linhas que contem as palavras "skill" e "montagem". No estilo que eu falei la em cima. Coloquei duas imagens dentro do exemplo.zip para você ter uma melhor noção, espero que agora eu expliquei mais, me desculpe também por todo esse incomodo.
Anexos
Exemplo.zip
(25.37 KiB) Baixado 182 vezes


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.


Avatar do usuário
LaerteB
Colaborador
Colaborador
Mensagens: 96
Registrado em: Qui Out 19, 2017 8:20 am

Re: Estou precisando de ajuda no vba

Mensagem por LaerteB »

Boa tarde, CH7

Ok, você está chegando agora no Fórum, então não precisa se desculpar... mas é importante
ler e estar ciente de todas as regras de cada Fórum que entrar ;) ...

Você colocou algumas imagens exemplificando o que queria, então eu acrescentei um
combobox como solicitado, e faz o que pediu (espero :? ) no arquivo exemplo
"Exemplo_ pesquisa_ por_ palavra_ solucao2" ...

Eu achei legal deixar o inputbox em vez de colocar um textbox e um botão, mas tu quem
vai ver o que é melhor para o seu projeto :) ...

Verifique e analise se está como queria, e qualquer dúvida estamos aqui ;) ..

Aguardando sua resposta e seu Feed Back ... se foi útil, coloque um Smilie: :D

LaerteB :)
Anexos
Exemplo_ pesquisa_ por_ palavra_ solucao2.zip
(34.91 KiB) Baixado 191 vezes


CH7
Colaborador
Colaborador
Mensagens: 12
Registrado em: Qui Jan 31, 2019 12:13 pm

Re: Estou precisando de ajuda no vba

Mensagem por CH7 »

LaerteB escreveu: Seg Fev 04, 2019 3:43 pm Boa tarde, CH7

Ok, você está chegando agora no Fórum, então não precisa se desculpar... mas é importante
ler e estar ciente de todas as regras de cada Fórum que entrar ;) ...

Você colocou algumas imagens exemplificando o que queria, então eu acrescentei um
combobox como solicitado, e faz o que pediu (espero :? ) no arquivo exemplo
"Exemplo_ pesquisa_ por_ palavra_ solucao2" ...

Eu achei legal deixar o inputbox em vez de colocar um textbox e um botão, mas tu quem
vai ver o que é melhor para o seu projeto :) ...

Verifique e analise se está como queria, e qualquer dúvida estamos aqui ;) ..

Aguardando sua resposta e seu Feed Back ... se foi útil, coloque um Smilie: :D

LaerteB :)
Bom dia, LaerteB.

Muito obrigado mesmo pela ajuda, já estou usando a planilha e tentando modificar ao meu gosto, se não fosse vocês aqui do fórum eu já não sabia mais oque fazer, pois sou novo no vba e comecei a mexer agora. Muito obrigado mesmo.

Só tenho uma ultima duvida, estou querendo tirar a planilha2, pois no meu projeto não pode ter duas planilhas, queria que somente com o Combobox.additem desse certo, mas do jeito que eu quero está aparecendo todos os itens e não está filtrando, você consegue me ajudar nesse ultimo detalhe? e também não estou conseguindo colocar para inicializar todos os dados no listview antes de fazer a procura por eles.

Segue o anexo para você ver o que esta acontecendo.
Anexos
Combo.zip
(82.21 KiB) Baixado 182 vezes


Avatar do usuário
LaerteB
Colaborador
Colaborador
Mensagens: 96
Registrado em: Qui Out 19, 2017 8:20 am

Re: Estou precisando de ajuda no vba

Mensagem por LaerteB »

Boa tarde, CH7

Que bom que ficou como queria :D ..

Agora em relação a "Excluir" a Planilha2 do seu projeto, existe várias opções que podem
ser realizadas, mas colocarei duas maneiras que você pode fazer Ok ;) .. então vamos
a elas:

1ª como você sugeriu, exclui a Planilha2 você terá que alterar alguns parâmetros dentro do
códigos.. dentro do procedimento Click "Private Sub ComboBox1_Click" comentar essas
linhas abaixo:

Código: Selecionar todos

 'Utilities = ComboBox1.Value
 'Utilities2 = ComboBox1.Value
 'If Worksheets(2).Cells(linh2, 1) = Utilities Then
 'If Worksheets(2).Cells(linh2, 1) = Utilities2 Then
 
E acrescentar essas linhas abaixo no lugar:

Código: Selecionar todos

  If ComboBox1.Value = "Utilities" Then
 If ComboBox1.Value = "Utilities2" Then
 
Agora no procedimento "Private Sub UserForm_Initialize" comente essa linha abaixo:

Código: Selecionar todos

 'Me.ComboBox1.RowSource = "Planilha2!A1:A2"
E acrescente essas linhas abaixo no lugar:

Código: Selecionar todos

 ComboBox1.AddItem "Utilities"
ComboBox1.AddItem "Utilities2"
Obs: observe que não precisa colocar entre parênteses as linhas acima ;)

2ª Este maneira você não terá que alterar nada dos códigos que citei acima e não
precisará "Excluir" a Planilha2, veja abaixo a explicação:

Clicar em cima da Planilha2 (lado esquerdo do VBE), nas propriedades (abaixo do lado esquerdo) da
Planilha2 você verá no "Menu" (Diversos) a Propriedade Visible - altere para "2 - xlSheetVeryHidden",
desta forma a "Guia" (Planilha2) ficará "Oculta" e mesmo você clicando na Planilha1 com o botão
direito não será possível (reverter para visível a Planilha2) e ver a opção "Reexibir"...

Para Reexibi-la novamente terá que alterar a propriedade (da Planilha2) visible em "-1 - xlSheetVisible".

Bem é isso, espero que esteja compreensível, caso tenha alguma dúvida é só falar ;)..

Aguardando sua resposta e seu Feed Back ... se foi útil, insira um Smilie: :D

LaerteB :)


CH7
Colaborador
Colaborador
Mensagens: 12
Registrado em: Qui Jan 31, 2019 12:13 pm

Re: Estou precisando de ajuda no vba

Mensagem por CH7 »

LaerteB escreveu: Ter Fev 05, 2019 11:36 am Boa tarde, CH7

Que bom que ficou como queria :D ..

Agora em relação a "Excluir" a Planilha2 do seu projeto, existe várias opções que podem
ser realizadas, mas colocarei duas maneiras que você pode fazer Ok ;) .. então vamos
a elas:

1ª como você sugeriu, exclui a Planilha2 você terá que alterar alguns parâmetros dentro do
códigos.. dentro do procedimento Click "Private Sub ComboBox1_Click" comentar essas
linhas abaixo:

Código: Selecionar todos

 'Utilities = ComboBox1.Value
 'Utilities2 = ComboBox1.Value
 'If Worksheets(2).Cells(linh2, 1) = Utilities Then
 'If Worksheets(2).Cells(linh2, 1) = Utilities2 Then
 
E acrescentar essas linhas abaixo no lugar:

Código: Selecionar todos

  If ComboBox1.Value = "Utilities" Then
 If ComboBox1.Value = "Utilities2" Then
 
Agora no procedimento "Private Sub UserForm_Initialize" comente essa linha abaixo:

Código: Selecionar todos

 'Me.ComboBox1.RowSource = "Planilha2!A1:A2"
E acrescente essas linhas abaixo no lugar:

Código: Selecionar todos

 ComboBox1.AddItem "Utilities"
ComboBox1.AddItem "Utilities2"
Obs: observe que não precisa colocar entre parênteses as linhas acima ;)

2ª Este maneira você não terá que alterar nada dos códigos que citei acima e não
precisará "Excluir" a Planilha2, veja abaixo a explicação:

Clicar em cima da Planilha2 (lado esquerdo do VBE), nas propriedades (abaixo do lado esquerdo) da
Planilha2 você verá no "Menu" (Diversos) a Propriedade Visible - altere para "2 - xlSheetVeryHidden",
desta forma a "Guia" (Planilha2) ficará "Oculta" e mesmo você clicando na Planilha1 com o botão
direito não será possível (reverter para visível a Planilha2) e ver a opção "Reexibir"...

Para Reexibi-la novamente terá que alterar a propriedade (da Planilha2) visible em "-1 - xlSheetVisible".

Bem é isso, espero que esteja compreensível, caso tenha alguma dúvida é só falar ;)..

Aguardando sua resposta e seu Feed Back ... se foi útil, insira um Smilie: :D

LaerteB :)
Boa tarde, laerteB.

Então eu tenho que usar igual o primeiro jeito, pois a planilha que vem para mim já é pronta e não tem muito tempo para ficar adicionando outras planilhas.

Deu um problema aqui, coloquei tudo certo aonde foi pedido, mas quando eu vou filtrar ele não aparece nada, o que pode ser?

Imagens no anexo, Obrigado pela atenção. :D
Anexos
Teste.zip
(44.92 KiB) Baixado 187 vezes


Avatar do usuário
LaerteB
Colaborador
Colaborador
Mensagens: 96
Registrado em: Qui Out 19, 2017 8:20 am

Re: Estou precisando de ajuda no vba

Mensagem por LaerteB »

Oi, CH7

Primeiro não precisa ficar colocando o "Citar" (trecho anterior respondido), pois não é necessário neste Tópico..;)

Segundo você esqueceu de colocar as " ", tem que ser igual ao que está a seguir:

Código: Selecionar todos

 If ComboBox1.Value = "Utilities" Then
 
Outra coisa esqueci de colocar para adicionar todos os dados na ListView, a seguir como fazê-lo:
- Adicione um módulo e dentro dele coloque este código abaixo:

Código: Selecionar todos

 
 Sub PreencherListview1()

 Dim li, lilist As Integer
 Dim Ult As Variant

 lilist = 0
 li = 3

 UserForm1.ListView1.ListItems.Clear

 Worksheets(1).Select

   With Worksheets(1)

   While .Cells(li, 1).Value <> ""

   Ult = Cells(Rows.Count, "a").End(xlUp).Row

  With UserForm1.ListView1

  Set Lt = UserForm1.ListView1.ListItems.Add(Text:=Cells(li, "a").Value)

       Lt.ListSubItems.Add Text:=Cells(li, "b").Value
       Lt.ListSubItems.Add Text:=Cells(li, "c").Value
       Lt.ListSubItems.Add Text:=Cells(li, "d").Value
       Lt.ListSubItems.Add Text:=Cells(li, "e").Value
       Lt.ListSubItems.Add Text:=Cells(li, "f").Value
       Lt.ListSubItems.Add Text:=Cells(li, "g").Value
       Lt.ListSubItems.Add Text:=Cells(li, "h").Value
       Lt.ListSubItems.Add Text:=Cells(li, "i").Value
       Lt.ListSubItems.Add Text:=Cells(li, "j").Value
       Lt.ListSubItems.Add Text:=Cells(li, "k").Value
       Lt.ListSubItems.Add Text:=Cells(li, "l").Value
       Lt.ListSubItems.Add Text:=Cells(li, "m").Value
       Lt.ListSubItems.Add Text:=Cells(li, "n").Value
       Lt.ListSubItems.Add Text:=Cells(li, "o").Value
       Lt.ListSubItems.Add Text:=Cells(li, "p").Value
       Lt.ListSubItems.Add Text:=Cells(li, "q").Value
       Lt.ListSubItems.Add Text:=Cells(li, "r").Value
       Lt.ListSubItems.Add Text:=Cells(li, "s").Value
       Lt.ListSubItems.Add Text:=Cells(li, "t").Value
       Lt.ListSubItems.Add Text:=Cells(li, "u").Value
       Lt.ListSubItems.Add Text:=Cells(li, "v").Value
       Lt.ListSubItems.Add Text:=Cells(li, "w").Value
       
   End With

  lilist = lilist + 1

  li = li + 1

 Wend

 End With

End Sub
E acrescente antes de tudo no "Private Sub UserForm_Initialize()" o código abaixo:

Código: Selecionar todos

Call PreencherListview1
Verifique e me informe, caso tenha mais alguma dúvida pode escrever.. :)

Aguardando sua resposta e seu Feed Back ... se foi útil, insira um Smilie: :D

LaerteB :)


CH7
Colaborador
Colaborador
Mensagens: 12
Registrado em: Qui Jan 31, 2019 12:13 pm

Re: Estou precisando de ajuda no vba

Mensagem por CH7 »

LaerteB escreveu: Ter Fev 05, 2019 12:30 pm Oi, CH7

Primeiro não precisa ficar colocando o "Citar" (trecho anterior respondido), pois não é necessário neste Tópico..;)

Segundo você esqueceu de colocar as " ", tem que ser igual ao que está a seguir:

Código: Selecionar todos

 If ComboBox1.Value = "Utilities" Then
 
Outra coisa esqueci de colocar para adicionar todos os dados na ListView, a seguir como fazê-lo:
- Adicione um módulo e dentro dele coloque este código abaixo:

Código: Selecionar todos

 
 Sub PreencherListview1()

 Dim li, lilist As Integer
 Dim Ult As Variant

 lilist = 0
 li = 3

 UserForm1.ListView1.ListItems.Clear

 Worksheets(1).Select

   With Worksheets(1)

   While .Cells(li, 1).Value <> ""

   Ult = Cells(Rows.Count, "a").End(xlUp).Row

  With UserForm1.ListView1

  Set Lt = UserForm1.ListView1.ListItems.Add(Text:=Cells(li, "a").Value)

       Lt.ListSubItems.Add Text:=Cells(li, "b").Value
       Lt.ListSubItems.Add Text:=Cells(li, "c").Value
       Lt.ListSubItems.Add Text:=Cells(li, "d").Value
       Lt.ListSubItems.Add Text:=Cells(li, "e").Value
       Lt.ListSubItems.Add Text:=Cells(li, "f").Value
       Lt.ListSubItems.Add Text:=Cells(li, "g").Value
       Lt.ListSubItems.Add Text:=Cells(li, "h").Value
       Lt.ListSubItems.Add Text:=Cells(li, "i").Value
       Lt.ListSubItems.Add Text:=Cells(li, "j").Value
       Lt.ListSubItems.Add Text:=Cells(li, "k").Value
       Lt.ListSubItems.Add Text:=Cells(li, "l").Value
       Lt.ListSubItems.Add Text:=Cells(li, "m").Value
       Lt.ListSubItems.Add Text:=Cells(li, "n").Value
       Lt.ListSubItems.Add Text:=Cells(li, "o").Value
       Lt.ListSubItems.Add Text:=Cells(li, "p").Value
       Lt.ListSubItems.Add Text:=Cells(li, "q").Value
       Lt.ListSubItems.Add Text:=Cells(li, "r").Value
       Lt.ListSubItems.Add Text:=Cells(li, "s").Value
       Lt.ListSubItems.Add Text:=Cells(li, "t").Value
       Lt.ListSubItems.Add Text:=Cells(li, "u").Value
       Lt.ListSubItems.Add Text:=Cells(li, "v").Value
       Lt.ListSubItems.Add Text:=Cells(li, "w").Value
       
   End With

  lilist = lilist + 1

  li = li + 1

 Wend

 End With

End Sub
E acrescente antes de tudo no "Private Sub UserForm_Initialize()" o código abaixo:

Código: Selecionar todos

Call PreencherListview1
Verifique e me informe, caso tenha mais alguma dúvida pode escrever.. :)

Aguardando sua resposta e seu Feed Back ... se foi útil, insira um Smilie: :D

LaerteB :)
Boa tarde, LaerteB.

Muito obrigado pela ajuda, está funcionando tudo certinho e eu estou adaptando para o que eu quero, agradeço muito desde já.
Se eu tiver mais alguma duvida eu o chamo. Muito obrigado :D

Queria só saber se existe algum tópico que explique como fazer uma pesquisa dentro de outra pesquisa?
Pois, depois dessa pesquisa que foi feita por grupos, eu queria refinar ela ainda mais, buscando por outras coisas, mas tudo dentro do grupo escolhido, Tipo dentro do grupo utilities, tem a Skill, montagem e etc na coluna 'w', agora eu queria refinar a pesquisa pelo nome das pessoas que ficam na coluna 'b', tudo dentro do grupo utilities, só que clicando em outro combo box.
Anexos
ex.png
ex.png (2.74 KiB) Exibido 5027 vezes


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.


Responder