質問編集履歴

2

ベストアンサー選択後の追記を足しました。

2018/07/23 01:30

投稿

kamikazelight
kamikazelight

スコア305

test CHANGED
File without changes
test CHANGED
@@ -177,3 +177,79 @@
177
177
  コードの使いまわしが出来るようにすることです。
178
178
 
179
179
  宜しくお願い致します。
180
+
181
+
182
+
183
+
184
+
185
+ ###ベストアンサー選択後の追記
186
+
187
+ いろいろ意見を頂き
188
+
189
+ ホントにコピーとペーストそれぞれ必要なのか
190
+
191
+ 再度考えてみました、
192
+
193
+ ペーストは同じ内容を連続で貼付けするために
194
+
195
+ 足したのですが、今回は今のところ必要なさそうなので
196
+
197
+ やめることにしました。
198
+
199
+ それに伴い値の保持の必要もなくなったので
200
+
201
+ 変数はプロシージャ内へ移動、
202
+
203
+ また、PasteRngは必ず指定しなければいけなくなるので
204
+
205
+ Optional をやめ Pasteの実行判断のIfもやめました。
206
+
207
+ クラスにする必要性も低くなったと思うので標準モジュールのままで
208
+
209
+ ```VBA
210
+
211
+ Option Explicit
212
+
213
+ Option Private Module
214
+
215
+
216
+
217
+
218
+
219
+ Sub MyCopy(ByVal CopyRng As Range, ByVal PasteRng As Range)
220
+
221
+ 'セルの 大体の書式と 値を Copy
222
+
223
+
224
+
225
+ Dim XML As String
226
+
227
+ Dim RowSize As Long
228
+
229
+ Dim ColumnSize As Long
230
+
231
+ Const ValueDataType = Excel.XlRangeValueDataType.xlRangeValueXMLSpreadsheet
232
+
233
+
234
+
235
+ 'Copy
236
+
237
+ RowSize = CopyRng.Rows.Count
238
+
239
+ ColumnSize = CopyRng.Columns.Count
240
+
241
+ XML = CopyRng.Value(ValueDataType)
242
+
243
+
244
+
245
+ 'Paste
246
+
247
+ PasteRng.Resize(RowSize, ColumnSize).Value(ValueDataType) = XML
248
+
249
+ End Sub
250
+
251
+ ```
252
+
253
+ 回答してくださった方ありがとうございました。
254
+
255
+ また、次も宜しくお願い致します。

1

「過去の質問」のリンクを張りました

2018/07/23 01:30

投稿

kamikazelight
kamikazelight

スコア305

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  ### __後で使いまわしやすい プロシージャ の書き方__
2
2
 
3
- 過去の質問で教えて頂いた情報を基にクリップボードを使わないで
3
+ [過去の質問](https://teratail.com/questions/136468)で教えて頂いた情報を基にクリップボードを使わないで
4
4
 
5
5
  コピペのコードを書いてみたのですが...
6
6