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

标签 vba excel excel-2010

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

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

列表:
抗体
cde
fghi
jk
?l

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

如果 小号 =“??”这将导致 r 等于“ab”
我想在哪里“??”被视为仅匹配字符串“??”的普通字符串
如果 小号 = "?l"我想要 r 等于“?l”而不是“ab”

最佳答案

使用 ~ ,即 ~? .

为您的?l , 是 ~?l .

一般解决方案:

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

关于vba - 如何忽略 range.find 函数中的通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5352777/

相关文章:

java - Apache POI : content in excel file gets corrupted

excel - 系统集合数组列表

excel - 在 Excel 2010 中计算百分位

arrays - Excel VBA 和数组公式

vba - 列表框在 Excel VBA 中无法正确返回数据

excel - 与语言无关的方式来引用 "Sheet"?

vba - 动态调用从形状 OnAction 属性传递参数的宏

vba - 使用 Dir 按文件系统顺序从文件夹中返回文件

ios - UIDocumentInteractionController "invalid scheme (null)"

excel - 使用 Excel 中的高级筛选器通过使用较短的列表来筛选较长的列表