セルの結合と解除

広告

ここではセルの結合の方法を見ていきます。セルを結合するには、結合するセル範囲を表す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ファイルを用意しておきます。

セルの文字配置の設定

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

testcellalign5.bas

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

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

セルの文字配置の設定

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

セル統合時の警告表示

Excel VBA入門の他の記事を見てみる

( Written by Tatsuo Ikura )