Usuário com melhor resposta
Procurar Palavra em uma Planilha (VBA)

Pergunta
-
Olá, eu preciso de ajuda com a função "contém"; se é que ela existe.
Com esta programação eu consigo achar as primeiras palavras:
While .Cells(Linha, 1).Value <> Empty
TextoCelula = .Cells(Linha, 1).Value
If UCase(Left(TextoCelula, Len(TextoDigitado))) = UCase(TextoDigitado) Then
With UserForm1.ListBox1
.AddItem
.List(linhalistbox, 0) = Sheets("plan1").Cells(Linha, 1)
.List(linhalistbox, 1) = Sheets("plan1").Cells(Linha, 2)
.List(linhalistbox, 2) = Sheets("plan1").Cells(Linha, 3)
.List(linhalistbox, 3) = Sheets("plan1").Cells(Linha, 4)
linhalistbox = linhalistbox + 1
End With
End If
Linha = Linha + 1
Wend
Eu preciso que encontre qualquer palavra na frase, e não só na primeira palavra.Adan
Respostas
-
Voce tem qu eusar a funçao instr (https://www.techonthenet.com/excel/formulas/instr.php), deste jeito:
While .Cells(Linha, 1).Value <> Empty TextoCelula = .Cells(Linha, 1).Value If INSTR(UCase(TextoCelula), UCase(TextoDigitado))<>0 Then With UserForm1.ListBox1 .AddItem .List(linhalistbox, 0) = Sheets("plan1").Cells(Linha, 1) .List(linhalistbox, 1) = Sheets("plan1").Cells(Linha, 2) .List(linhalistbox, 2) = Sheets("plan1").Cells(Linha, 3) .List(linhalistbox, 3) = Sheets("plan1").Cells(Linha, 4) linhalistbox = linhalistbox + 1 End With End If Linha = Linha + 1 Wend
att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator domingo, 19 de fevereiro de 2017 12:42
-
Obrigado William.
Mas acabei concatenando com * e deu certo.
Mas muito obrigado pela atenção.
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator domingo, 19 de fevereiro de 2017 12:42
Todas as Respostas
-
Voce tem qu eusar a funçao instr (https://www.techonthenet.com/excel/formulas/instr.php), deste jeito:
While .Cells(Linha, 1).Value <> Empty TextoCelula = .Cells(Linha, 1).Value If INSTR(UCase(TextoCelula), UCase(TextoDigitado))<>0 Then With UserForm1.ListBox1 .AddItem .List(linhalistbox, 0) = Sheets("plan1").Cells(Linha, 1) .List(linhalistbox, 1) = Sheets("plan1").Cells(Linha, 2) .List(linhalistbox, 2) = Sheets("plan1").Cells(Linha, 3) .List(linhalistbox, 3) = Sheets("plan1").Cells(Linha, 4) linhalistbox = linhalistbox + 1 End With End If Linha = Linha + 1 Wend
att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator domingo, 19 de fevereiro de 2017 12:42
-
Obrigado William.
Mas acabei concatenando com * e deu certo.
Mas muito obrigado pela atenção.
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator domingo, 19 de fevereiro de 2017 12:42