为什么这一行需要很长时间?

时间:2015-12-16 07:08:15

标签: excel vba excel-vba

我想把很多相同的公式放到中等大小的范​​围内。并且需要永远处理。我正在使用的代码是:

.Range("M2:AZ1000").FormulaR1C1 = "=COUNTIFS(MOODLE!C[-5],""Y"",MOODLE!C3,RC3)"  

但该行大约需要五分钟才能运行。

我尝试关闭计算,然后重新插入公式(这会增加现在计算两次所需的时间!)。

1 个答案:

答案 0 :(得分:0)

我可以想到你的问题的两个原因:

  1. 你的公式本身需要大量的计算。列有2^10行。在公式中,您将两个完整列输入criteria_range字段,这意味着Excel需要2^10 + 2^10 IF来检查,而且只有一个单元格。您将其应用于39960单元格。尝试将criteria_range的输入限制为较小的范围。 (根据我的经验,当COUNTIF使用10,000个单元格中的criteria_range并将公式应用于10,000个单元格时,事情开始变得非常草率。“
  2. 您还有其他Excel打开,它还具有许多易失性功能。试着关闭它们。
  3. 另外,可能将计算转为手动模式会缓解疼痛吗?