Microsoft Excelで半自動でセル結合ができるマクロを作ってみた

みなさん、こんにちは、
みむすたーです。

以前に仕事上でExcelの資料作りをしていた時にセル結合が面倒だなと感じたことがあったので、
マクロを作成してみました。
本日は、半自動でセル結合ができるマクロを作ったので、みなさんにご紹介したいと思います。

例えば、下のように罫線を使って横列の分類をしてしまっているパターンです。

上の画像のようになったセルを実際は、下の画像のようにしたいということがあるかと思います。

それではいきましょう。

もくじ

マクロの動作

マクロの動きはこんな感じ

VBAコード

VBAマクロは以下の通りです。

Sub セル結合()
'
' セル結合 Macro
'
' Keyboard Shortcut: Ctrl+m
'

'選択中のセルの直下のセル確認
ActiveCell.Offset(1, 0).Select
If ActiveCell.Value <> "" Then
    'セル結合不要のセル
    Exit Sub
End If

'一旦上のセルに戻る
ActiveCell.Offset(-1, 0).Select
Dim fr, fc, dr, dc As Integer
fr = Selection.Row
fc = Selection.Column
Range(Selection, Selection.End(xlDown)).Select
dr = Selection(Selection.Count).Row
dc = Selection(Selection.Count).Column
Range(Cells(fr, fc), Cells(dr - 1, dc)).Select

If dr - dc > 1000 Then
    MsgBox "おそらく最後の行です。"
    Exit Sub
End If

'セルを結合する
Selection.Merge

'次のセルに移動する
ActiveCell.Offset(1, 0).Select

End Sub

注意点

セル結合時の判定の都合上、一番下のセルはどこまで結合して良いものか判断できないので、
セル結合を行いません。
そのため、最後のセルは結合されませんので、手動でセル結合してください。

コメント