セルを結合する

今回は、セルを結合する方法についてご紹介したいと思います。基本構文はコチラですっ\(*`▽´*)/

Rangeオブジェクト.Merge

Rangeオブジェクトには結合したいセル範囲を指定します。例えば、セル範囲C4:E7を結合するときは、

となります。vba_pres_Range_Merge1

※結合範囲を強調する為に枠線で囲んであります。

結合する際、結合範囲内に複数のデータが入力されていると、「セルを結合すると、左上の端にあるセルの値のみが保持され、他のセルの値は破棄されます」というメッセージが出ます。Application.DisplayAlertsをFalseにすることでこれを回避することができます。

では、次に結合されているセルを解除してみましょう。基本構文は・・・、

Rangeオブジェクト.UnMerge

Rangeオブジェクトの指定は、結合範囲全体ではなくて、結合しているセルの中でどれか1つ選んであげればOKです。先程結合したセルを解除するにあたり、Range(“C4″)をRangeオブジェクトに指定してみます。

そして、任意のセルが結合されているかを判定する方法があります。それには、MergeCellsプロパティを使います。基本構文は、

Rangeオブジェクト.MergeCells

です。MergeCellsプロパティは指定したRangeオブジェクトが結合している場合はTrueを、結合していない場合はFalseを値として返してくれます。例として、A列で結合しているセルがあるかどうかを判定するマクロを挙げます。結合しているセルが見つかる度に結合範囲をメッセージボックスで表示します。結合範囲を知るには、MergeAreaプロパティを使います。

vba_pres_Range_Merge2

今回ご紹介したのは、RangeオブジェクトのMergeメソッド、UnMergeメソッド、MergeAreaプロパティ、MergeCellsプロパティの4つでした。以上、『セルを結合する』でございました ( ̄^ ̄)ゞ