Evaluate函数的作用:

1. Evaluate方法用于将文本形式的公式转换成值,例如Evaluate(“1+2”)的结果为3

2. Evaluate还可以将文本形式的对象名称转换成对象,例如Evaluate(“A1”)的结果是引用名为“A1”的单元格对象

含义就是说VBA里,两边加双引号的excel 公式会被认为是一段字符串,不会被计算。而Evaluate函数可以将这段字符串表示的公式运行,计算出值并返回。

例如:

GatherStr = Evaluate(“=vlookup(” & GatherStyle & “,{1,””SUM””;2,””PRODUCT””;3,””AVERAGE””;4,””COUNTA””},2,false)”)

上面的公式中利用Evaluate函数可以求出公式的值并付给Gatherstr变量。否则,必须使用单元格的FormulaR1C1属性:

dim rng as Range

set rng = cells(1,1) ‘必须给对象变量复制,再进行下一步的运算,否则会报错(没有定义)

rng.formulaR1C1 = “=vlookup(” & GatherStyle & “,{1,””SUM””;2,””PRODUCT””;3,””AVERAGE””;4,””COUNTA””},2,false)”

GatherStr = rng