Excel
VBA

セルを縦方向に結合するExcelマクロ

More than 3 years have passed since last update.


やりたいこと

選択範囲のセルを縦方向に結合する。


使い方


  1. セルを選択

    図3.png

  2. マクロ実行


  3. セルが縦方向に結合される

    図4.png


コード


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



検討

今回は、シンプル化するために一つのエリアを選択した時のみ動作する仕様にした。

複数のエリアを選択した場合は、各エリアごとに行数と列数を調べて、同じように処理すれば対応可能。