回答編集履歴

1

修正版

2019/11/15 05:17

投稿

ttyp03
ttyp03

スコア16998

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