回答編集履歴
1
コード追記
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
|
+
```
|