背景:我在Sheet1中有几个表,每个表代表一个公司部门(数据:每个公司Mkt上限的绝对百分比变化)。我的目标是根据每个部门创建一个相关矩阵。
基于这些表,我尝试创建一个VBA函数,该函数可以在可变范围的行和列(nb列= nb行)上迭代公式,直到公式返回零
CODE
Sub Correlation_Matrix_test()
Range("B4").Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(SUMPRODUCT(--(INDIRECT(R2C1&""[""&R3C&""]"")=INDIRECT(R2C1&""[""&RC1&""]"")),--(INDIRECT(R2C1&""[""&R3C&""]"")<>0),--(INDIRECT(R2C1&""[""&RC1&""]"")<>0))/COUNTIFS(INDIRECT(R2C1&""[""&R3C&""]""),""<>0"",INDIRECT(R2C1&""[""&RC1&""]""),""<>0""),0)"
Range("B4").Select
Selection.AutoFill Destination:=Range("B4:B126") ' range would be from row B4 to row B?(until formula returns ZERO)
Range("B4:B126").Select ' here we would take the range B4:B?
Selection.AutoFill Destination:=Range("B4:DT126") ' And autofill until the last column of the variable range, B4:??
End Sub
更好地理解问题的小例子 - Sheet2