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
