結合されたセルの参照

Excel VBA を使って結合セルを表すRangeオブジェクトを取得する方法について解説します。結合セルに対して新しい値を設定したり書式を変更する場合に利用します。

(Last modified: )

結合されたセルを参照する

結合セルに対するRangeオブジェクトを取得するには、結合される前のセル領域に含まれるどこか1つのセルを表すRangeオブジェクトの「MergeArea」プロパティの値を取得します。

Dim range1 As Range

Set range1 = Range("A1").MergeArea

上記の場合は、セルA1が含まれる結合セルを表すRangeオブジェクトを取得しています。「MergeArea」プロパティは必ず単一のセルに対して取得しなくてはいけません。

結合セルのRangeオブジェクトを取得したら、あとは通常のRangeオブジェクトに対する処理を行うことが出来ます。

サンプルプログラム

では簡単なサンプルで試してみましょう。まず下記のようなExcelファイルを用意します。

結合されたセルの参照

結合されたセルに対して値の設定と文字位置の変更をしてみます。

Sub テスト()

    Dim range1 As Range

    Set range1 = Range("C2").MergeArea
    range1.HorizontalAlignment = xlCenter
    
    Range("B3").MergeArea.Value = "A支店"
    Range("B6").MergeArea.Value = "B支店"

End Sub

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

結合されたセルの参照

-- --

Excel VBA を使って結合セルを表すRangeオブジェクトを取得する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

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