Pergunta

É possível tratar curingas como caracteres normais na função range.find.

Estou pesquisando em uma lista por correspondências de strings, mas estou tendo problemas, pois algumas das strings contêm curingas. Exemplo:

Lista:
ab
cde
fghi
jk
? l

r = list.range.find(s, LookAt:=xlWhole)

if s ="??"isso resultaria em r igual a "ab"
Onde como eu quero "??"a ser tratada como uma string normal que corresponderia apenas a uma string de "??"
Se s ="? L", gostaria que r fosse igual a "? L" e não a "ab"

Foi útil?

Solução

Use um ~, ou seja, ~?.

Para o seu ?l, é ~?l.

Solução geral:

s = Application.WorksheetFunction.Substitute(s, "?", "~?")
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top