- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel(エクセル)で非表示シートをVBAで計算するには?)
Excel(エクセル)で非表示シートをVBAで計算するには?
このQ&Aのポイント
- エクセルで1つのブックにAシート~Fシートまであるとします。再計算させると、すべてのシートを再計算してしまうため時間がかかるので、マクロの自動記録を利用して「Aシート→Bシート→Cシート→Dシート→Eシート」と、必要なシートだけを順番に計算させる事で、処理時間短縮をさせる事をする事ができました。
- EシートとFシートは表示させておいて、その他のA~Dシートは非表示にしました。Eシートには、A~Dシートで計算した結果が表示されるようになっています。
- A~Dシートを非表示にして作成したマクロを実行すると、エラーが出てしまい上手くできません。A~Dシートを非表示にしていても、ブック全体を再計算させる事はできます。非表示にしたシートをマクロで計算させるには、どのようにしたら良いでしょか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 > A~Dシートを非表示にして作成したマクロを実行すると、エラーが出て > しまい上手くできません。 > A~Dシートを非表示にしていても、ブック全体を再計算させる事はできます。 ということは、シートの表示・非表示という状態の差は再計算時に問題に ならないということです。 また、非表示のシートは Select できません。 以上の点から対策は、「Select しなければ良い」となります。 Sheets("Aシート").Select ActiveSheet.Calculate これを Select を使わずに書けば、 Sheets("Aシート").Calculate です。
その他の回答 (1)
- suz83238
- ベストアンサー率30% (197/656)
回答No.2
例えば表示しているもののみ再計算は以下でできます。 Sub xxx() For Each sh In ActiveWorkbook.Sheets If sh.Visible = True Then ActiveWorkbook.PrecisionAsDisplayed = True Next End Sub でももっといい方法があるような?
お礼
ご回答ありがとうございます。 アドバイスして頂いた通りに修正した所、シートを非表示にしても計算させる事ができるようになりました。 的確なアドバイスありがとうございました。