我有这个功能工作(它返回文本DK001位于ID范围内的行)
Found = Application.Evaluate("=IF(ID=""DK001"",ROW(ID),""x"")")
我想将searchcriteria(例如DK001)作为字符串提供,例如
Found = Application.Evaluate("=IF(ID=SearchString,ROW(ID),""x"")")
我创建了一个被接受为搜索条件的字符串失败了。我需要你的帮助!我做错了什么?
这个评估功能困扰着我......
如果我现在想要向函数发送值(不是字符串)怎么办?
Found = Application.Evaluate("=IF(ID=1,ROW(ID),""x"")")
以上作品!
但如果我希望这是一个像
这样的变量Found = Application.Evaluate("=IF(ID=MyValue,ROW(ID),""x"")")
然后呢?
答案 0 :(得分:6)
加倍"
将它们包含为文字:
SearchString = "DK001"
Found = Application.Evaluate(""=IF(ID=""" & SearchString & """,ROW(ID),""x"")")
答案 1 :(得分:0)
通过 stdVBA
,您可以使用 stdLambda
完成此操作,如下所示:
set lambda = stdLambda.Create("if id.value = $1 then id.row else ""x""").bindGlobal("id",range("ID"))
'later...
Found = lambda("DK001")
答案 2 :(得分:-1)
你能试试吗
Application.Evaluate("=IF(ID="" & searchsrtring & "",ROW(ID),""x"")")