
エクセルVBAでシート毎に同じ動作をしたいのです。
例えば
A・B・C・D・E
とシートがあるのですが、A以外のものを全部印刷したいのです。
今までは
Worksheets("B").Select
Range("A1:AG44").Select
Selection.PrintOut From:=1, To:=1, Copies:=1, Collate:=True
Worksheets("C").Select
Range("A1:AG44").Select
Selection.PrintOut From:=1, To:=1, Copies:=1, Collate:=True
と これを繰り返していたのです。
これをやると文章も長くなりますし、シート名が変わったときには、VBAもすべて書き直しと言う状況になってしまいます。
何か打開策はありますでしょうか?
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
Sub Print_Test()
For Each sh In Worksheets '全ワークシートに繰り返す
If sh.Name <> "A" Then 'シート名がAでなければ
sh.Range("A1:AG44").PrintOut From:=1, To:=1, Copies:=1, Collate:=True
End If
Next '次のシートに
End Sub
No.1
- 回答日時:
でしたら、サブルーチン、関数を定義します。
' メインの処理
Sub Print_All()
Call Print_1sheet("B")
Call Print_1sheet("C")
Call Print_1sheet("D")
Call Print_1sheet("E")
End Sub
' サブの処理
Function Print_1Sheet(strSheet as String)
Worksheets(strSheet).Select
Range("A1:AG44").Select
Selection.PrintOut From:=1, To:=1, Copies:=1, Collate:=True
End Function
--
シート数が100になると、修正前の方法では400行、修正後は100行と少しです。
シート名が変わっても、メインの処理を書き直すだけで済みます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelでnullになるような式のセルをマクロで空白行と認識させるにはどうすればいいですか? 3 2023/03/13 13:42
- Excel(エクセル) 【マクロ】プリントスクリーンした画像をエクセルに貼付して印刷したい 6 2022/11/30 20:11
- Visual Basic(VBA) エクセル VBA 処理スピードを上げたいのですが。 6 2023/03/31 20:52
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- Visual Basic(VBA) EXCELのVBAについて 2 2023/07/05 17:17
- Excel(エクセル) エクセルVBAでチェックボックスにチェックを入れる 1 2022/09/14 00:52
- Excel(エクセル) vbaで列幅について 1 2022/11/15 08:31
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
エクセルでブック内の倍率がバ...
-
特定のシートのみ再計算させな...
-
エクセルのシー名を二段表示に...
-
ハイパーリンクでジャンプした...
-
EXCELの図形(テキストボックス)...
-
Accessのテーブルを既存のExcel...
-
【ExcelVBA】マクロの入ったシ...
-
エクセル、特定のシートにパス...
-
ワークシートそのものの色を変...
-
EXCELの「シートの見出し」のフ...
-
エクセルの複数シートでのリン...
-
エクセルで、シートの名前を変...
-
エクセルのシート連番の振り直し
-
エクセルのファイルサイズが急...
-
EXCELで存在しないシート...
-
エクセルで複数のシートに画像...
-
エクセルの2つのシートを並び...
-
InputBoxに入力した言葉をシー...
-
Excelのオートフィルタについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
エクセルでブック内の倍率がバ...
-
【ExcelVBA】マクロの入ったシ...
-
ハイパーリンクでジャンプした...
-
特定のシートのみ再計算させな...
-
EXCELの図形(テキストボックス)...
-
エクセルで複数のシートに画像...
-
エクセルのファイルサイズが急...
-
エクセル、特定のシートにパス...
-
Accessのテーブルを既存のExcel...
-
エクセルのシー名を二段表示に...
-
エクセルの2つのシートを並び...
-
EXCELで存在しないシート...
-
エクセルの複数シートでのリン...
-
エクセルで、シートの名前を変...
-
EXCELの「シートの見出し」のフ...
-
Wordで差し込み印刷時に表示す...
-
ワークシートそのものの色を変...
-
エクセルを開くとメニューバー...
-
エクセル、別のシートの表をポ...
おすすめ情報