エクセル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で複数のシートを一度に「...
-
エクセルでブック内の倍率がバ...
-
【ExcelVBA】マクロの入ったシ...
-
特定のシートのみ再計算させな...
-
ハイパーリンクでジャンプした...
-
Wordで差し込み印刷時に表示す...
-
EXCELの図形(テキストボックス)...
-
【Excel VBA】データ貼り付け先...
-
エクセルで複数のシートに画像...
-
エクセル、特定のシートにパス...
-
特定の複数のシートに同じ処理...
-
エクセルシートのタブの階層化表示
-
エクセルの2つのシートを並び...
-
アクセスからエクセルのシート...
-
エクセルでリンク貼り付けした...
-
Accessのテーブルを既存のExcel...
-
エクセルのシート名のフォント...
-
Excel 全シート上のボタンを削...
-
エクセルのシート連番の振り直し
-
エクセルを開くとメニューバー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
エクセルで複数のシートに画像...
-
エクセルでブック内の倍率がバ...
-
特定のシートのみ再計算させな...
-
ワークシートそのものの色を変...
-
【ExcelVBA】マクロの入ったシ...
-
ハイパーリンクでジャンプした...
-
エクセルのシート連番の振り直し
-
エクセル、特定のシートにパス...
-
エクセルの2つのシートを並び...
-
エクセルのシー名を二段表示に...
-
Wordで差し込み印刷時に表示す...
-
Accessのテーブルを既存のExcel...
-
【Excel VBA】データ貼り付け先...
-
EXCELの「シートの見出し」のフ...
-
EXCELの図形(テキストボックス)...
-
accessへエクセルの複数のシー...
-
アクセスからエクセルのシート...
-
特定の複数のシートに同じ処理...
-
エクセルで、シートの名前を変...
おすすめ情報