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

回答編集履歴

2

説明の追記

2018/01/19 06:05

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -15,4 +15,32 @@
15
15
  ```
16
16
 
17
17
  シンプルだし、読みやすいと思いませんか。
18
- また、クリップボードの確認に煩わらさせられることもないです。
18
+ また、クリップボードの確認に煩わらさせられることもないです。
19
+
20
+ 追記
21
+ ---
22
+ セル範囲の代入のコード例
23
+ B37 から、M列の最後までのセル範囲をコピー
24
+
25
+ ```VBA
26
+ Dim pasteCell As Excel.Range
27
+ Dim sagyokingakuCell As Excel.Range
28
+
29
+ With copyWs
30
+ Set sagyokingakuCell = _
31
+ .Range( _
32
+ .Range("B37"), _
33
+ .Cells(.Rows.Count, "M").End(xlUp) _
34
+ )
35
+ End With 'copyWs
36
+
37
+ With pasteWs
38
+ Set pasteCell = .Cells(.Rows.Count, "D").End(xlUp).Offset(1, 0) _
39
+ .Resize(sagyokingakuCell.Rows.Count, sagyokingakuCell.Columns.Count)
40
+ End With 'pasteWS
41
+ pasteCell.Value = sagyokingakuCell.Value
42
+ ```
43
+ Resizeで代入元と代入先のセル範囲サイズを揃えてます。
44
+ セル結合していると、先頭セルのみに値があり、他は空欄になりますので、
45
+ `.End(xlToRight).End(xlDown)`では、想定の範囲が取得できるとは限らないので、
46
+ 十分確認してください。

1

書式の改善

2018/01/19 06:05

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  また、結合セルの値は先頭セルに格納されているので、値の転記だけなら、`.MergeArea` は不必要です。
7
7
 
8
- さらに、'Union' を使うのも、コードが読みづらくなるのでやめたいですね。
8
+ さらに、`Union` を使うのも、コードが読みづらくなるのでやめたいですね。
9
9
 
10
10
  上記の点を考慮すれば、下記の2行ですみます。
11
11