我正在尝试使用Application.Evaluate方法来评估标准为“> =”
的Sumif公式以下是我要评估的代码行 所以我在单元格E1到E15中有1到15的订单号,在单元格F1到F15中有它们的相应金额。
用户在J1中输入他的订单号。超过该订单号的金额将使用Sumif Function汇总并显示。
现在,我想使用Application.Evaluate找到此答案
MsgBox( Application.Evaluate("=SUMIF(E1:E15, ">=" & J1, F1:F15)"))
我对True或False消息框表示欢迎。
现在我猜想Sumif函数中的反逗号。 ">="
导致了此问题。因此,要解决此问题,我将函数修改为
MsgBox( Application.Evaluate("=SUMIF(E1:E15, """">="""" & J1, F1:F15)"))
但是现在它返回0,尽管其中有值。
如果有人能帮助我了解解决方法,我将不胜感激
*注:请不要建议使用任何其他功能。我想纯粹从Application.Evaluate
的角度来了解它,因为我的另一行代码将依赖于它。 *
谢谢。
答案 0 :(得分:1)
字符串中的所有引号必须加倍:
">="
应该是
"">=""
也:
Application.Evaluate
将在活动工作表上工作,因此,如果错误的工作表处于活动状态,则将在错误的工作表上执行相加运算,因为公式本身未提供工作表名称。
使用
Worksheets("Sheet1").Evaluate
将"Sheet1"
更改为工作表。
总共:
MsgBox Worksheets("Sheet1").Evaluate("=SUMIF(E1:E15, "">="" & J1, F1:F15)")