Excel VBAでセルの結合と解除:MergeCells

Excel VBA でセル同士を結合・解除する場合は、 MergeCells プロパティを使用します。 ここでは、MergeCells プロパティの使い方について説明します。

MergeCells プロパティの使い方

MergeCells プロパティの構文は以下の通りです。

Rangeオブジェクト.MergeCells = True  ' 指定したセル範囲を結合する
Rangeオプジェクト.MergeCells = False ' 指定したセル範囲の結合を解除

Range オブジェクトで対象となるセルの範囲を取得し、その MergeCells プロパティに論理値を設定することでセルの結合・解除を行います。True でセルは結合され、False でセルの結合が解除されます。

もし結合するセル範囲に複数の値が設定されている場合は、最も左上端にあるデータが結合後に設定されます。

セルを結合する

以下は、セル範囲「A1:B2」を結合する例です。

Range("A1:B2").MergeCells = True

vba_mergecells1

もし結合後に文字を中央に設定したい場合は、以下のようにします。

With Range("A1:B2")
    .MergeCells = True
    .HorizontalAlignment = xlCenter ' 水平方向に中央揃え
End With

複数プロパティの値を同時に設定するときは With ステートメントを使うと便利です。

vba_mergecells2

セルの結合を解除する

以下は、セル範囲「A1:B2」の結合を解除します。

Range("A1:B2").MergeCells = False

もしセル内に値が設定されている場合は、範囲の最も左上端のセルに値が格納されます。

結合の確認メッセージを非表示にする

複数のセルに値が設定されている場合は、セルを結合するときに確認メッセージが表示されます。

以下は、セル範囲「A1:B2」を確認メッセージなしで強制的に結合する例です。

Application.DisplayAlerts = False ' 確認メッセージの非表示設定
Range("A1:B2").MergeCells = True
Application.DisplayAlerts = True  ' 確認メッセージの表示設定を戻す

結合する前にいったんダイアログの設定を非表示にし、結合後に元の設定に戻しています。


イベント

2017/12/05(火)
Design Thinking Square