セルを結合する
今回は、セルを結合する方法についてご紹介したいと思います。基本構文はコチラですっ\(*`▽´*)/
Rangeオブジェクト.Merge
Rangeオブジェクトには結合したいセル範囲を指定します。例えば、セル範囲C4:E7を結合するときは、
1 2 3 |
Sub Range_Merge1() Range("C4:E7").Merge End Sub |
※結合範囲を強調する為に枠線で囲んであります。
結合する際、結合範囲内に複数のデータが入力されていると、「セルを結合すると、左上の端にあるセルの値のみが保持され、他のセルの値は破棄されます」というメッセージが出ます。Application.DisplayAlertsをFalseにすることでこれを回避することができます。
1 2 3 4 5 |
Sub Range_Merge2() Application.DisplayAlerts = False Range("C4:E7").Merge Application.DisplayAlerts = True End Sub |
では、次に結合されているセルを解除してみましょう。基本構文は・・・、
Rangeオブジェクト.UnMerge
Rangeオブジェクトの指定は、結合範囲全体ではなくて、結合しているセルの中でどれか1つ選んであげればOKです。先程結合したセルを解除するにあたり、Range(“C4″)をRangeオブジェクトに指定してみます。
1 2 3 |
Sub Range_UnMerge() Range("C4").UnMerge End Sub |
そして、任意のセルが結合されているかを判定する方法があります。それには、MergeCellsプロパティを使います。基本構文は、
Rangeオブジェクト.MergeCells
です。MergeCellsプロパティは指定したRangeオブジェクトが結合している場合はTrueを、結合していない場合はFalseを値として返してくれます。例として、A列で結合しているセルがあるかどうかを判定するマクロを挙げます。結合しているセルが見つかる度に結合範囲をメッセージボックスで表示します。結合範囲を知るには、MergeAreaプロパティを使います。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Sub Range_Merge_Judge() Dim i As Long Dim msg As String For i = 2 To 21 With Range("A" & i) If .MergeCells Then msg = .MergeArea.Address MsgBox "結合範囲は" & msg & "です" End If End With Next i End Sub |
今回ご紹介したのは、RangeオブジェクトのMergeメソッド、UnMergeメソッド、MergeAreaプロパティ、MergeCellsプロパティの4つでした。以上、『セルを結合する』でございました ( ̄^ ̄)ゞ