マクロではかなり単純な問題があります。その中で、私はセルに数式を割り当てます。私はまずそれを計算せずに、マクロの他の部分が終了した後で計算をしたいと思います。ExcelとVBA:マクロで計算式をスキップ
Application.Calculation = xlCalculationManual
Cells(StartRow, 4 + i).Formula = "FORMULA"
...
Application.Calculation = xlCalculationAutomatic
しかし、これはうまくいきません。自動計算は停止しますが、そのセルでは計算されません。計算式を割り当てた直後に計算が実行されます。それをスキップする方法はありますか?
実際のコードでは、サイクル内のセルのグループに数式を割り当てています。私はそれを1つのセルに割り当てます - それを計算します。私が最初にそれらをすべて割り当ててから計算をしたら、もっと速くなるはずです。実際にはのそれはです。サイクルに割り当てるのではなく、最初のセルに割り当ててからオートフィルを行います。オートフィルされた数式は、自動計算を有効にするまで待っています。しかし、最初の割り当て元は依然として計算されているため、マクロはほぼ2倍遅くなります。
試してみてください:いくつかの非表示セルに数式を保存できますか?また、マクロでは式のみをPasteSpecialしますか?オートフィルと似たような動きがあり、最終的には計算される運が少しあります... –