やりたいこと
選択範囲のセルを縦方向に結合する。
使い方
コード
Module1
Option Explicit
Public Sub verticalMerge()
Dim rng As Range
Dim i As Long
'選択範囲がセルでない時は動作させない
If TypeName(Selection) <> "Range" Then Exit Sub
Set rng = Selection
'複数領域を選択した時は動作させない
If rng.Areas.Count > 1 Then Exit Sub
'縦方向にマージする
With rng
For i = 1 To .Columns.Count
Range(.Item(1, i), .Item(.Rows.Count, i)).Merge
Next
End With
Set rng = Nothing
End Sub
検討
今回は、シンプル化するために一つのエリアを選択した時のみ動作する仕様にした。
複数のエリアを選択した場合は、各エリアごとに行数と列数を調べて、同じように処理すれば対応可能。