回答編集履歴
3
コード修正
test
CHANGED
@@ -88,7 +88,7 @@
|
|
88
88
|
|
89
89
|
|
90
90
|
|
91
|
-
Dim fromSheet As
|
91
|
+
Dim fromSheet As Worksheet '貼り付け元シート
|
92
92
|
|
93
93
|
Set fromSheet = fromBook.ActiveSheet
|
94
94
|
|
2
コード修正
test
CHANGED
@@ -68,9 +68,11 @@
|
|
68
68
|
|
69
69
|
|
70
70
|
|
71
|
+
追記
|
72
|
+
|
71
73
|
---
|
72
74
|
|
73
|
-
|
75
|
+
コメントの情報を考慮して
|
74
76
|
|
75
77
|
コードの一例
|
76
78
|
|
@@ -86,21 +88,27 @@
|
|
86
88
|
|
87
89
|
|
88
90
|
|
91
|
+
Dim fromSheet As Range '貼り付け元シート
|
92
|
+
|
93
|
+
Set fromSheet = fromBook.ActiveSheet
|
94
|
+
|
95
|
+
|
96
|
+
|
89
97
|
Dim fromRng As Range '貼り付け元セル範囲
|
90
98
|
|
91
|
-
Set fromRng = from
|
99
|
+
Set fromRng = fromSheet.Range("A1:O38")
|
92
100
|
|
93
101
|
|
94
102
|
|
95
|
-
Dim
|
103
|
+
Dim newBook As Workbook '貼り付け先ブック=新規ブック
|
96
104
|
|
97
|
-
Set
|
105
|
+
Set newBook = Workbooks.Add
|
98
106
|
|
99
107
|
|
100
108
|
|
101
109
|
Dim toRng As Range '貼り付け先セル範囲
|
102
110
|
|
103
|
-
Set toRng =
|
111
|
+
Set toRng = newBook.Worksheets(1).Range("C2:Q39")
|
104
112
|
|
105
113
|
|
106
114
|
|
@@ -108,14 +116,22 @@
|
|
108
116
|
|
109
117
|
|
110
118
|
|
111
|
-
|
119
|
+
Dim NewBookName As String
|
112
120
|
|
113
|
-
|
121
|
+
NewBookName = fromSheet.Range("請求書番号のあるセル") & ".xlsx"
|
114
122
|
|
123
|
+
|
124
|
+
|
125
|
+
newBook.SaveAs FileName:="ここは格納先のパスをコピペ" & NewBookName
|
126
|
+
|
115
|
-
|
127
|
+
newBook.Close
|
116
128
|
|
117
129
|
|
118
130
|
|
119
131
|
End Sub
|
120
132
|
|
121
133
|
```
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
変数名は意味の分かるものにするとコードが読みやすくなると思います。
|
1
コード追記
test
CHANGED
@@ -65,3 +65,57 @@
|
|
65
65
|
|
66
66
|
|
67
67
|
上記を考慮してコードを再検討してみてください。
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
---
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
コードの一例
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
```vba
|
80
|
+
|
81
|
+
Sub 名前をつけて()
|
82
|
+
|
83
|
+
Dim fromBook As Workbook '貼り付け元ブック
|
84
|
+
|
85
|
+
Set fromBook = ThisWorkbook 'マクロの記述してあるブック
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
Dim fromRng As Range '貼り付け元セル範囲
|
90
|
+
|
91
|
+
Set fromRng = fromBook.ActiveSheet.Range("A1:O38")
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
Dim toBook As Workbook '貼り付け先ブック
|
96
|
+
|
97
|
+
Set toBook = Workbooks.Open("ここは貼り付け先ブックのパスをコピペ")
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
Dim toRng As Range '貼り付け先セル範囲
|
102
|
+
|
103
|
+
Set toRng = toBook.Worksheets(1).Range("C2:Q39")
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
toRng.Value = fromRng.Value
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
toBook.Save '上書き保存
|
112
|
+
|
113
|
+
' toBook.SaveAs Filename:="ここは変更後のパスをコピペ" 'ブックの名前を変更する場合
|
114
|
+
|
115
|
+
toBook.Close
|
116
|
+
|
117
|
+
|
118
|
+
|
119
|
+
End Sub
|
120
|
+
|
121
|
+
```
|