
よろしくお願いします。
エクセルで1つのブックにAシート~Fシートまであるとします。
再計算させると、すべてのシートを再計算してしまうため時間がかかるので、マクロの自動記録を利用して「Aシート→Bシート→Cシート→Dシート→Eシート」と、必要なシートだけを順番に計算させる事で、処理時間短縮をさせる事をする事ができました。
EシートとFシートは表示させておいて、その他のA~Dシートは非表示にしました。
Eシートには、A~Dシートで計算した結果が表示されるようになっています。
ですが、A~Dシートを非表示にして作成したマクロを実行すると、エラーが出てしまい上手くできません。
A~Dシートを非表示にしていても、ブック全体を再計算させる事はできます。
非表示にしたシートをマクロで計算させるには、どのようにしたら良いでしょか?
アドバイスをお願い致します。
登録したマクロは下記のようになっています。
Sub 計算()
Sheets("Aシート").Select
ActiveWorkbook.PrecisionAsDisplayed = False
ActiveSheet.Calculate
Sheets("Bシート").Select
ActiveWorkbook.PrecisionAsDisplayed = False
ActiveSheet.Calculate
Sheets("Cシート").Select
ActiveWorkbook.PrecisionAsDisplayed = False
ActiveSheet.Calculate
Sheets("Dシート").Select
ActiveWorkbook.PrecisionAsDisplayed = False
ActiveSheet.Calculate
Sheets("Eシート").Select
ActiveWorkbook.PrecisionAsDisplayed = False
ActiveSheet.Calculate
Sheets("Eシート").Select
End Sub
No.1ベストアンサー
- 回答日時:
こんにちは。
> A~Dシートを非表示にして作成したマクロを実行すると、エラーが出て
> しまい上手くできません。
> A~Dシートを非表示にしていても、ブック全体を再計算させる事はできます。
ということは、シートの表示・非表示という状態の差は再計算時に問題に
ならないということです。
また、非表示のシートは Select できません。
以上の点から対策は、「Select しなければ良い」となります。
Sheets("Aシート").Select
ActiveSheet.Calculate
これを Select を使わずに書けば、
Sheets("Aシート").Calculate
です。
ご回答ありがとうございます。
アドバイスして頂いた通りに修正した所、シートを非表示にしても計算させる事ができるようになりました。
的確なアドバイスありがとうございました。
No.2
- 回答日時:
例えば表示しているもののみ再計算は以下でできます。
Sub xxx()
For Each sh In ActiveWorkbook.Sheets
If sh.Visible = True Then ActiveWorkbook.PrecisionAsDisplayed = True
Next
End Sub
でももっといい方法があるような?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで条件によりフォントサイズ...
-
エクセルの複数シートの保護を...
-
前の(左隣の)シートを連続参...
-
EXCEL:同じセルへどんどん足し...
-
別シート参照のセルをシート毎...
-
基本となるシートをコピーした...
-
エクセルでファイルを開いたと...
-
特定のシートの削除を禁止した...
-
EXCELで同一フォーマットのシー...
-
串刺し計算の中のあるシートを...
-
エクセルVBAでパスの¥マークに...
-
至急お願いします。エクセルシ...
-
エクセル:ブックを開くとき、...
-
シート名ではなく、相対位置で...
-
複数のシートで同時にシートの...
-
シート番号からシート名を取得する
-
googleスプレッドシートで、内...
-
EXCELで1ヶ月分の連続した日付...
-
エクセルでシートの数を数える...
-
シートを追加・名前を次月に変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のセルだけ結果がおかしい...
-
エクセルの複数シートの保護を...
-
前の(左隣の)シートを連続参...
-
別シート参照のセルをシート毎...
-
エクセルで前シートを参照して...
-
エクセルでファイルを開いたと...
-
特定のシートの削除を禁止した...
-
Excelで金銭出納帳。繰越残高を...
-
エクセル 計算式も入っていない...
-
Excel、同じフォルダ内のExcel...
-
EXCEL:同じセルへどんどん足し...
-
VBAでシートコピー後、シート名...
-
複数シートの特定の位置に連番...
-
シートの保護のあとセルの列、...
-
Accessのスプレッドシートエク...
-
VBAで条件によりフォントサイズ...
-
エクセルVBAでパスの¥マークに...
-
Excelのシートを、まとめて表示...
-
エクセルで複数設定したハイパーリンク先...
-
エクセルで毎回1枚目のシートを...
おすすめ情報