回答編集履歴
2
追記
answer
CHANGED
@@ -62,18 +62,16 @@
|
|
62
62
|
|
63
63
|
```VBA
|
64
64
|
Sub macro2()
|
65
|
-
|
65
|
+
|
66
|
-
Dim
|
66
|
+
Dim i
|
67
|
-
Set dic = CreateObject("Scripting.Dictionary")
|
68
|
-
|
69
|
-
|
67
|
+
ReDim wsNames(1 To Worksheets.Count)
|
70
|
-
For
|
68
|
+
For i = 1 To Worksheets.Count
|
71
|
-
|
69
|
+
wsNames(i) = Worksheets(i).Name
|
72
70
|
Next
|
73
|
-
|
71
|
+
|
74
72
|
Dim v, ary
|
75
73
|
For Each v In Array("100", "200", "300")
|
76
|
-
ary = Filter(
|
74
|
+
ary = Filter(wsNames, v)
|
77
75
|
If UBound(ary) > -1 Then
|
78
76
|
Worksheets(ary).Select
|
79
77
|
ActiveSheet.ExportAsFixedFormat Type:=0, Filename:=v & ".pdf"
|
@@ -81,5 +79,27 @@
|
|
81
79
|
Next
|
82
80
|
|
83
81
|
End Sub
|
82
|
+
```
|
83
|
+
```VBA
|
84
|
+
Sub macro3()
|
84
85
|
|
86
|
+
Dim dic 'As Scripting.Dictionary
|
87
|
+
Set dic = CreateObject("Scripting.Dictionary")
|
88
|
+
|
89
|
+
Dim ws As Worksheet, tCode As String
|
90
|
+
For Each ws In Sheets
|
91
|
+
tCode = Left(ws.Name, 3)
|
92
|
+
dic(tCode) = dic(tCode) & " " & ws.Name
|
93
|
+
Next
|
94
|
+
|
95
|
+
Dim k
|
96
|
+
For Each k In dic
|
97
|
+
Worksheets(Split(Trim(dic(k)))).Select
|
98
|
+
ActiveSheet.ExportAsFixedFormat Type:=0, Filename:=k & ".pdf"
|
99
|
+
Next
|
100
|
+
|
101
|
+
End Sub
|
102
|
+
|
103
|
+
|
104
|
+
|
85
105
|
```
|
1
追記
answer
CHANGED
@@ -55,4 +55,31 @@
|
|
55
55
|
End Sub
|
56
56
|
|
57
57
|
|
58
|
+
```
|
59
|
+
---
|
60
|
+
|
61
|
+
<追記>別解を考えてみました。
|
62
|
+
|
63
|
+
```VBA
|
64
|
+
Sub macro2()
|
65
|
+
|
66
|
+
Dim dic 'As Scripting.Dictionary
|
67
|
+
Set dic = CreateObject("Scripting.Dictionary")
|
68
|
+
|
69
|
+
Dim ws As Worksheet
|
70
|
+
For Each ws In Sheets
|
71
|
+
dic.Add ws.Name, ws
|
72
|
+
Next
|
73
|
+
|
74
|
+
Dim v, ary
|
75
|
+
For Each v In Array("100", "200", "300")
|
76
|
+
ary = Filter(dic.Keys, v)
|
77
|
+
If UBound(ary) > -1 Then
|
78
|
+
Worksheets(ary).Select
|
79
|
+
ActiveSheet.ExportAsFixedFormat Type:=0, Filename:=v & ".pdf"
|
80
|
+
End If
|
81
|
+
Next
|
82
|
+
|
83
|
+
End Sub
|
84
|
+
|
58
85
|
```
|