Excel VBA application.calculate及其变体不计算公式阵列,但F9键确实如此
问题描述:
如果有一个小范围包含相对较长的公式数组(见下文)。 当我用application.calculate或其任何变体来计算范围时,不计算值(不返回任何内容),但是当我使单元格变脏并按[F9]时,会计算并显示这些值。Excel VBA 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
@charleswilliams one for你 – brettdj