エクセルVBA(rangeでの複数範囲指定方法)
いつも有難うございます。
タイトルの件でご教示いただきたく、お願いいたします。
やりたいことは、複数のセル結合を一括でおこないたい、というものです。
具体的には【A列をn行目まで、2行ずつセル結合する】方法です。
例えば、20行目まで2行ずつ結合する、と決まっていれば次のような記述が可能です。
(例1)
Range( _
"A1:A2,A3:A4,A5:A6,A7:A8,A9:A10,A11:A12,A13:A14,A15:A16,A17:A18,A19:A20"). _
MergeCells = True
これを「n行目」までとするため、次のような記述を考えました。
(例2)
Dim i As Integer
Dim n As Integer
Range("A65536").End(xlUp).Select
n = ActiveCell.Row + 1
For i = 1 To n Step 2
Range(Cells(i, 1), Cells(i + 1, 1)).MergeCells = True
Next
こちらの For ~ Next 内の構文についてです。
この構文ですと、一つずつ選択→結合をしていくので、相応の時間がかかってしまうため、
例1の構文のように、先に範囲を指定して一括で結合する方法を調べたのですが見つからず
質問させていただきました。
(やりたい構文)
For i = 1 To n Step 2
※ = (A1:A2,A3:A4,・・・An-1:An)
Next
Range(※).MergeCells = True
このような方法はありますでしょうか。
ご教示のほど、宜しくお願いいたします。
お礼