2

ワークブックに「cellabove」という名前の範囲があり、それが使用されているセルの上にあるセルを常に参照しています。名前の RefersToR1C1 プロパティは「=!R[-1]C」です。これにより、ブック内の任意のワークシートに適用できます。

一部の行を削除するマクロを実行すると、application.calculatefullrebuild でマクロを終了しても、数式に cellabove を含む一部のセルが再計算されません。ただし、CTRL + SHIFT + ALT + F9を押して手動で完全な再構築を強制すると、セルが再計算されます。

相対参照された名前付き範囲を強制的に更新する方法について何か考えはありますか?

4

2 に答える 2

1

これらの計算オプションのいずれかをコードに追加して、効果があるかどうかを確認してください。

Sub Calculate_It()

    ActiveSheet.Calculate
''// Equivalent to Shift+F9 Recalculates the active worksheet

    Application.Calculate
''// Equivalent to F9 Recalculates all worksheets in all open workbooks

    Application.CalculateFull
''// Equivalent to Ctrl+Alt+F9 Recalculates all worksheets in all open workbooks (Full recalculation)

    Application.CalculateFullRebuild
''// Equivalent to Shift+Ctrl+Alt+F9 Rebuilds the dependency tree and does a full recalculation

End Sub
于 2013-05-31T11:27:01.943 に答える