セルを結合する方法
セルを結合するには、Range【レンジ】オブジェクトのMerge【マージ】メソッド使用する方法とMergeCells【マージセルズ】プロパティを使用する方法の2種類があります。
Merge【マージ】メソッドは引数の設定により、指定したセル範囲を行単位で結合することができます。
MergeCells【マージセルズ】プロパティはブール型の設定値によりセルの結合、解除が行えます。また、値を取得することができるため、指定したセル範囲が結合しているかどうかを調べることが可能です。
RangeオブジェクトのMergeArea【マージエリア】プロパティを使用すると、指定したセルが含まれる結合セル範囲を取得することができます。
セルの結合に関するメソッド一覧
セルの結合に関するプロパティ一覧
プロパティ | 内容 |
---|---|
MergeArea【マージエリア】 | 指定したセルを含む結合セル範囲を取得します。 |
MergeCells【マージセルズ】 | セルの結合や解除の設定と取得をします。 |
Merge【マージ】メソッド
指定したセル範囲を結合するには、Range【レンジ】オブジェクトのMerge【マージ】メソッドを使用します。
Merge【マージ】メソッドの書式と設定値(引数)の説明
オブジェクト.Merge( Across )
- オブジェクト(必須)
結合したいセル範囲をRange【レンジ】オブジェクトで指定します。 - Across【アクロス】(省略可)
指定したセル範囲を、「すべて結合する」か「行単位で結合する」かをブール型の値で指定します。
すべて結合する場合は左上スミのセルの値が設定されます。
行単位で結合する場合は行の左端の値が設定されます。設定値 内容 True 行単位で結合します。 False 指定範囲全体を結合します。(既定値) ※省略した場合はFalseが指定されます。
A1セル~D5セル範囲を結合するコードと解説
Sub セル結合() Application.DisplayAlerts = False Range("A1:D5").Merge Application.DisplayAlerts = True End Sub
結合セル範囲のセルに値が入力されていると以下のアラートが発生するのでApplication【アプリケーション】オブジェクトのDisplayAlerts【デスプレイアラーツ】プロパティに、Falseを設定してアラートの発生を抑制します。

3行目【Range(“A1:D5”).Merge】
RangeオブジェクトのMerge【マージ】メソッドを使用して、指定したA1セルからD5セルのセル範囲を左上スミのA1セルの値を残して結合します。
4行目【Application.DisplayAlerts = True】
抑制していたアラートの発生を、Application【アプリケーション】オブジェクトのDisplayAlerts【デスプレイアラーツ】プロパティにTrueを設定して解除します。
実行結果
A1セル~D5セル範囲を行単位で結合するコード例
Sub セル結合2() Application.DisplayAlerts = False Range("A1:D5").Merge True Application.DisplayAlerts = True End Sub
実行結果
UnMerge【アンマージ】メソッド
セルの結合を解除するには、RangeオブジェクトのUnMerge【アンマージ】メソッドを使用します。
UnMerge【アンマージ】メソッドの書式と設定値の説明
オブジェクト.UnMerge
- オブジェクト(必須)
結合されているセル範囲をRange【レンジ】オブジェクトで指定、またはRange【レンジ】オブジェクトのMergeArea【マージエリア】プロパティで取得した結合セル範囲を指定します。
A3セル~B4セル範囲の結合セルを解除するコード例
Sub 結合解除() Range("A3:B4").UnMerge End Sub
A3セルを含む結合セルを解除するコード例
Sub 結合解除2() Range("A3").MergeArea.UnMerge End Sub
MergeArea【マージエリア】プロパティ
指定されたセルがある結合セル範囲を、Rangeオブジェクトで取得するにはRangeオブジェクトのMergeArea【マージエリア】プロパティを使用します。
MergeArea【マージエリア】プロパティの書式と設定値
オブジェクト.MergeArea
【戻り値】オブジェクト型(Range)の値
- オブジェクト(必須)
結合セル内の単一セルをRange【レンジ】オブジェクトで指定します。指定した単一セルが結合されていない場合は、指定した単一セルが返ります。
A2セルを含む結合セル範囲のセルアドレスを取得するコード例
Sub 結合セル取得() Dim 結合範囲 As Range Set 結合範囲 = Range("A2").MergeArea MsgBox 結合範囲.Address End Sub
実行結果
MergeCells【マージセルズ】プロパティ
指定したセル範囲の、セルの結合や結合解除を設定や状態の取得をするにはRange【レンジ】オブジェクトのMergeCells【マージセルズ】プロパティを使用します。
MergeCells【マージセルズ】プロパティの書式と設定値
【取得】
オブジェクト.MergeCells
【戻り値】バリアント型(Variant) の値
【設定】
オブジェクト.MergeCells = 設定値
- オブジェクト(必須)
結合するセル範囲や結合を解除するセル範囲、状態を取得するセルを、Range【レンジ】オブジェクトで指定します。 - 設定値(必須)
指定セル範囲を結合するか結合解除するかをブール型の値で指定します。設定値 内容 True 指定セル範囲を結合します。 False 指定セル範囲のセルの結合を解除します。
※値の取得の場合は指定したセルが結合されている場合はTrue、結合されていない場合はFalseが返ります。
A2セルが結合しているかどうかを調べるコード例
Sub 結合確認() MsgBox Range("A2").MergeCells End Sub
実行結果
以上で、セルを結合する方法についての解説を終了します。ありがとうございました。