結合されたセルの参照

広告

結合セルに対して新しい値を設定したり書式を変更する場合に、結合セルを表すRangeオブジェクトを取得する方法を確認します。

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

Dim range1 As Range

Set range1 = Range("A1").MergeArea

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

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

サンプルプログラム

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

結合されたセルの参照

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

testcellmerge3.bas

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入門の他の記事を見てみる

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)