如何忽略range.find函数中的通配符

时间:2011-03-18 13:38:50

标签: excel vba excel-vba excel-2010

是否可以在range.find函数中将通配符视为普通字符。

我正在搜索字符串匹配列表,但遇到问题,因为某些字符串包含通配符。 例如:

列表:
AB
CDE
FGHI
JK
?升

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

如果 s =“??”这将导致 r 等于“ab”
在哪里我想“??”被视为一个普通的字符串,只能匹配一串“??” 如果 s =“?l”我希望 r 等于“?l”而不是“ab”

1 个答案:

答案 0 :(得分:4)

使用~,即~?

对于?l,它是~?l

一般解决方案:

s = Application.WorksheetFunction.Substitute(s, "?", "~?")