Excel でスプレッドシート データを取得して、セルの値を変更する手間をかけずに、VBA 内からそれ自体を再計算するにはどうすればよいでしょうか?
Lance Roberts
質問する
462326 次
6 に答える
61
次の行でうまくいきます。
ActiveSheet.EnableCalculation = False
ActiveSheet.EnableCalculation = True
編集: この.Calculate()
方法はすべての機能で機能するわけではありません。アドイン配列関数を使用してシートでテストしました。.CalculateFull()
私が使用している生産シートは非常に複雑なので、メソッドをテストしたくありませんが、うまくいくかもしれません。
于 2008-09-30T18:54:58.970 に答える
19
これでうまくいくはずです...
'recalculate all open workbooks
Application.Calculate
'recalculate a specific worksheet
Worksheets(1).Calculate
' recalculate a specific range
Worksheets(1).Columns(1).Calculate
于 2008-09-30T19:26:59.470 に答える
8
場合によっては、Excel が問題を起こし、数式を再適用するためにキックスタートが必要になることがあります。これは、カスタム式を使用している場合に発生することがあります。
次のスクリプトがあることを確認してください
ActiveSheet.EnableCalculation = True
選択式を再適用します。
Cells(RowA,ColB).Formula = Cells(RowA,ColB).Formula
これは、必要に応じてループできます。
于 2013-09-04T19:11:12.783 に答える
6
あなたも試すかもしれません
Application.CalculateFull
また
Application.CalculateFullRebuild
アクティブなワークシートだけでなく、開いているすべてのワークブックを再構築してもかまわない場合。(CalculateFullRebuild
依存関係も再構築します。)
于 2008-09-30T19:52:04.137 に答える