teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

修正版

2019/11/15 05:17

投稿

ttyp03
ttyp03

スコア17002

answer CHANGED
@@ -1,3 +1,32 @@
1
+ シート名が日本語名でも対応できるように修正した版です。
2
+ shs配列に印刷対象にしたシート名を記入してください。
3
+ 動作は未検証です。
4
+ ```VBA
5
+ Sub 印刷()
6
+ '
7
+ ' 印刷 Macro
8
+ '
9
+ Dim rc As Long
10
+ Dim i As Long
11
+ Dim shs() As Variant
12
+ Dim sh As String
13
+
14
+ shs = Array("sheet2", "sheet3", "sheet4", "sheet5", "sheet6", "sheet7", "sheet8")
15
+
16
+ For Each sh In shs
17
+ rc = MsgBox(sh & "の帳簿を印刷しますか?", vbYesNo + vbQuestion)
18
+ If rc = vbYes Then
19
+ Sheets(sh).Select
20
+ ActiveWindow.SelectedSheets.PrintOut
21
+ End If
22
+ Next
23
+ Sheets("sheet1").Select
24
+ Range("C2:F3").Select
25
+
26
+ End Sub
27
+ ```
28
+ 修正前版
29
+ ---
1
30
  やりかたは色々ありますが、この場合ですとForループを使うと修正量も少ないかと。
2
31
  単純に書き換えるとこんな感じです(動作未検証)。
3
32