セルの結合と解除

Excel VBA を使ってセルを結合する方法および解除する方法について解説します。

(Last modified: )

セルの結合と解除

セルを結合するには、結合するセル範囲を表すRangeオブジェクトに対して「MergeCells」プロパティをTrueを設定します。

Dim range1 As Range

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

セルを結合した場合、結合したセル範囲の左上にあるセルに含まれていた値だけが有効となります。その他のセルに含まれていた値は全て削除されます。

また結合されたセルに対して引き続き水平位置の指定などを行いたい場合には、結合したセル範囲の左上のセルに対して行います。

Dim range1 As Range

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

Range("A1").HorizontalAlignment = xlCenter
Range("A1").Value = "新しい値"

また結合されたセルを解除する場合には、同じプロパティに「False」を設定して下さい。

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

Range("B1").MergeCells = False

セルを解除する場合には解除したい結合セルの中に含まれるどのセルの「MergeCells」プロパティをFalseにしても結構です。

サンプルプログラム

では簡単なサンプルで試してみましょう。

事前に下記のようなExcelファイルを用意しておきます。

セルの文字配置の設定

セルの結合と解除を試してみます。

Sub テスト()
    
    Range("A2:C3").MergeCells = True
    Range("A2").HorizontalAlignment = xlCenter
        
    Range("B4").MergeCells = False
        
End Sub

上記マクロを実行すると次のようになります。

セルの文字配置の設定

結合する場合に左上のセル以外のセルに値が含まれていた場合、セルの値が削除される警告表示が行われます。

セル統合時の警告表示

-- --

Excel VBA を使ってセルを結合する方法および解除する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。