在logging的VBAmacros中引入variables
我在Excel中logging了这个macros的一部分:
Cells(x, i).Select Selection.FormulaArray = _ "=SQRT((MMULT(MMULT(TRANSPOSE(R2C14:R9C14),'Monthly Covariance y1'!R[12]C[0]:R[19]C[7]),'Portfolio Vola per Month'!R2C14:R9C14)))"
在中间的术语“每月协variablesy1!R [12] C [ 0 ]:R [19] C [ 7 ])”我想把粗体数字表示为variables。 0应该是j , 7应该是j + 7 。
当我尝试用variablesreplace硬编号时,Excel返回“无法设置Range类的FormulaArray属性”。
任何想法如何解决这个问题?
非常感谢。
只需closures公式,添加variables,然后再次打开:
"=SQRT((MMULT(MMULT(TRANSPOSE(R2C14:R9C14),'Monthly Covariance y1'!R[12]C["& j & "]:R[19]C["& j + 7 & "]),'Portfolio Vola per Month'!R2C14:R9C14)))"
通过“closures公式”,我的意思是用"
接近"
,然后用&
连接”variables,然后用“重新打开"
。 简单的例子, j
是一个行号,说5
:
myRange.FormulaR1C1 = "=Sum(A" & j & ":A" & j & ")"
相当于
myRange.FormulaR1C1 = "=Sum(A5:A5)"
另外,这是另一个问题,但尽量避免使用。select