假设我在Excel A表中包含以下数据:
假设我将此公式应用于以下范围:= IF(COUNTIF(A:A,A1)= 1,0,1)。
如果单元格与列中的任何其他单元格匹配,则返回1。如果我在条件格式中使用此公式并将其应用于所有四个单元格,则将格式化上面第1行和第4行中的单元格。 Excel会自动将公式中的A1调整为A2,A3或A4,因为它是一个相对的单元格引用,没有'$'符号。
但是,当我使用Application.Evaluate函数测试此公式时,无论我使用的是什么范围,它总是会对单元格A1进行求值。
例如,如果我获得单个单元格的范围,比如单元格A3和我从该单元格的cell.FormatConditions属性评估公式,它将评估为1,即使它与之中的任何其他单元格都不匹配专栏。
Evaluate函数是否可以正确使用相对单元格引用?
答案 0 :(得分:2)
有关评估限制的信息,请参阅http://www.decisionmodels.com/calcsecretsh.htm
Evaluate字符串中的相对引用被视为绝对,除非它们包含在已定义的名称中,在这种情况下,定义的名称将根据单元格A1进行评估。