Excel VBA application.calculate及其变体不计算公式数组,但F9键不计算

时间:2017-02-11 04:06:48

标签: excel vba excel-vba array-formulas calculation

如果小范围包含相对较长的公式数组(见下文)。 当我使用 application.calculate或其任何变体计算范围时,不计算值(不返回任何内容),但是当我制作单元格时#34;脏"然后按[F9],计算并显示数值。

有没有办法让 application.calculate或其任何变体完全模仿[F9]?

公式数组:

=IFNA(INDEX(INDEX(rangename_003,,COLUMN(rangename_004)),MATCH(ROW(rangename_004),IF(INDEX(rangename_003,,COLUMN(rangename_004))="",-1,COUNTIF(INDEX(rangename_003,,COLUMN(rangename_004)),"<"&INDEX(rangename_003,,COLUMN(rangename_004)))+1),0)),"")

1 个答案:

答案 0 :(得分:1)

假设您有一个引用数组公式的范围对象,那么如果您处于手动计算模式,请尝试

theRange.CurrentArray.Calculate

如果您处于自动模式,请尝试

theRange.CurrentArray.Dirty
theRange.CurrentArray.Calculate