回答編集履歴

1

コード追記

2021/09/10 14:29

投稿

hatena19
hatena19

スコア34075

test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  下記のようにSelectで選択して、
14
14
 
15
- 選択した範囲(Selction)に対してMergeすればエラーにはならない。
15
+ 選択した範囲(Selection)に対してMergeすればエラーにはならない。
16
16
 
17
17
 
18
18
 
@@ -20,7 +20,7 @@
20
20
 
21
21
  ws.Range("B" & cnt).Offset(-1, 0).Select
22
22
 
23
- Selction.Merge
23
+ Selection.Merge
24
24
 
25
25
  ```
26
26
 
@@ -34,7 +34,7 @@
34
34
 
35
35
  ws.Range("B" & cnt).Offset(-1, 0).Resize(2).Select
36
36
 
37
- Selction.Merge
37
+ Selection.Merge
38
38
 
39
39
  ```
40
40
 
@@ -57,3 +57,39 @@
57
57
  やりたいことが不明瞭なので、コード全体が希望と合致しているかはわかりません。
58
58
 
59
59
  cntを使う意味など。
60
+
61
+
62
+
63
+ ---
64
+
65
+ たぶんやりたいことは下記のようなことかな。
66
+
67
+ For Eachを使ったコード例。
68
+
69
+
70
+
71
+ ```vba
72
+
73
+ Sub セル結合()
74
+
75
+ Dim ws As Worksheet
76
+
77
+ Set ws = Worksheets("Sheet1")
78
+
79
+
80
+
81
+ Dim c As Range
82
+
83
+ For Each c In ws.Range(ws.Cells(2, 1), ws.Range("A10000").End(xlUp)).Cells
84
+
85
+ If c.Value = c.Offset(-1).Value Then
86
+
87
+ c.Offset(-1, 1).Resize(2).Merge
88
+
89
+ End If
90
+
91
+ Next
92
+
93
+ End Sub
94
+
95
+ ```