Excel VBA application.calculate及其变体不计算公式数组,但F9键
如果有一个小范围包含一个相对较长的公式数组(见下文)。 当我用application.calculate或其任何变体计算范围时,不计算这些值(不返回任何内容),但当使单元格变脏并按[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)),"")
假设你有一个引用数组公式的范围对象
如果您处于手动计算模式,请尝试
theRange.CurrentArray.Calculate
如果您处于自动模式,请尝试
theRange.CurrentArray.Dirty theRange.CurrentArray.Calculate