문제

Is it possible to treat wildcards as normal chars in the range.find function.

I am searching through a list for string matches, but am running into issues, as some of the strings contain wild cards. Example:

List:
ab
cde
fghi
jk
?l

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

if s = "??" this would result in r equalling "ab"
Where as I want "??" to be treated like a normal string that would only match a string of "??"
If s = "?l" I would want r to equal "?l" not "ab"

도움이 되었습니까?

해결책

Use a ~, i.e ~?.

For your ?l, it is ~?l.

General solution:

s = Application.WorksheetFunction.Substitute(s, "?", "~?")
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top