Excel VBA应用程序。计算和它的变化不是计算公式数组,而是F9键

时间:2022-01-24 01:41:22

If have a small range containing a relatively long formula array (see below). When I calculate the range with application.calculate or any of its variations the values are not calculated (nothing is returned) but when I make the cells "dirty" and press [F9], the values are calculated and displayed.

如果有一个包含相对较长的公式数组的小范围(参见下面)。当我用应用程序计算范围时。计算或它的任何变化值都不会被计算(不会返回任何值),但是当我将单元格设置为“脏”并按下[F9]时,这些值将被计算和显示。

Is there a way to make application.calculate or any of its variations mimic [F9] exactly?

有办法申请吗?计算或它的任何变化模仿[F9]准确吗?

Formula Array:

数组公式:

=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)),"")

= IFNA(指数(指数(rangename_003,列(rangename_004)),匹配(行(rangename_004),如果(指数(rangename_003,列(rangename_004))= " ",1,条件统计(指数(rangename_003,列(rangename_004)),“<”和(rangename_003,列(rangename_004)))+ 1),0)),“”)

1 个解决方案

#1


1  

Assuming you have a range object referencing the array formula then
If you are in Manual Calculation mode try

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

theRange.CurrentArray.Calculate

If you are in Automatic mode try

如果你是在自动模式尝试

theRange.CurrentArray.Dirty
theRange.CurrentArray.Calculate

#1


1  

Assuming you have a range object referencing the array formula then
If you are in Manual Calculation mode try

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

theRange.CurrentArray.Calculate

If you are in Automatic mode try

如果你是在自动模式尝试

theRange.CurrentArray.Dirty
theRange.CurrentArray.Calculate