MergeCells

セルの結合状態を設定または取得します。

値を指定しなかった場合は結合状態を取得します。値にTrueを指定した場合は指定したセル範囲を結合し、Falseを指定した場合指定したセル(範囲)に含まれる結合をすべて解除します。

Mergeメソッドもセル結合をすることができます。

構文
Boolean = Range.MergeCells
引数
戻り値
True:セル結合している
False:セル結合していない

Range オブジェクトを返す可能性のあるメソッド・プロパティ

Range.MergeCells プロパティ (Excel)
MergeCells (Excel)
Application.Cells プロパティ (Excel)
Range.Find メソッド (Excel)
Range.SpecialCells メソッド (Excel)
Range.Columns プロパティ (Excel)
Range.CurrentRegion プロパティ (Excel)
Range.End プロパティ (Excel)
Range.EntireColumn プロパティ (Excel)
Range.EntireRow プロパティ (Excel)
Range.Item プロパティ (Excel)
Range.Offset プロパティ (Excel)
Range.Resize プロパティ (Excel)
Range.Rows プロパティ (Excel)

関連するメソッド・プロパティ

項目メソッド・プロパティ
項目メソッド・プロパティ
項目メソッド・プロパティ
項目メソッド・プロパティ
項目メソッド・プロパティ
項目メソッド・プロパティ
ロック▶/com/excel/range/locked /◀
表示しない▶/com/excel/range/formulahidden/◀

セル結合

セル範囲A1〜C3を結合。

Excel.Range(“A1:C3”).MergeCells = TRUE

セル結合の解除

セル範囲A3〜C4の結合を解除。

Excel.Range(“A3:C4”).MergeCells = TRUE

結合されているセル範囲のいずれかのセルを指定すれば結合は解除されます。

Excel.Range(“A1:C3”).MergeCells  = TRUE
Excel.Range(“B2”).MergeCells = FALSE

結合解除にセル範囲を指定した場合は、その範囲に結合の一部でも含まれていれば解除されます。以下の場合セルC3がセル範囲A4〜C3に含まれるので結合は解除されます。

Excel.Range(“A1:C3”).MergeCells = TRUE
Excel.Range(“C3:D4”).MergeCells = FALSE

結合状態を取得する際にセル結合されているセルとセル結合されていないセルを範囲に指定するとNullを返します。

以下はセルC3が結合していて、セルC4は結合されていないのでNullを返します。

Excel.Range(“A1:C3”).MergeCells = TRUE
PRINT Excel.Range(“C3:C4”).MergeCells

セル結合の判定

セルA1が結合しているかどうかを調べる。結合されていればTrue、結合されていなければFalseを返します。

PRINT Excel.Range(“A1”).MergeCells

プログラム実行例

結合したセルの情報を取得

DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
Excel.Workbooks.Add()

WITH Excel
	.Range("A1:E5").Merge
	IFB .Range("A1").MergeCells THEN
		WITH .Range("A1").MergeArea
			PRINT "結合範囲<#TAB>" + .Address
			PRINT "大きさ<#TAB><#TAB>" + .Count
			PRINT "行数<#TAB><#TAB>" + .Rows.Count
			PRINT "列数<#TAB><#TAB>" + .Columns.Count
			PRINT "左上セル<#TAB>" + .Item(1).Address
			PRINT "右下セル<#TAB>" + .Item(.Count).Address
		ENDWITH
	ENDIF
ENDWITH

// Excel.Application.DisplayAlerts = FALSE
// Excel.Quit
  1. Excel.Range.Merge
  2. Excel.Range.MergeCells
  3. Excel.Range.MergeArea
  4. Excel.Range.Address
  5. Excel.Range.Count
  6. Excel.Range.Rows
  7. Excel.Range.Columns
  8. Excel.Range.Item
  9. Excel.Range.Address
結果
結合範囲	$A$1:$E$5
大きさ		25
行数		5
列数		5
左上セル	$A$1
右下セル	$E$5

参考文献

  1. Range.MergeCells プロパティ (Excel) | Microsoft Docs

関連記事

Range.Merge メソッド (Excel)
指定したRangeオブジェクトから結合されたセルを作成します。
Range.UnMerge メソッド (Excel)
結合された領域をそれぞれのセルに分割します。
Application.ActiveCell プロパティ (Excel)
アクティブな1つのセルを表すRangeオブジェクトを取得します。
Application.Cells プロパティ (Excel)
作業中のワークシートのすべてのセルを表すRangeオブジェクトを返します。
Application.Range プロパティ (Excel)
セルまたはセル範囲を表すRangeオブジェクトを返します。
Range.Borders プロパティ (Excel)
セルの罫線を表します。
Range.Columns プロパティ (Excel)
指定した範囲の列を表すRangeオブジェクトを返します。
Range.Count プロパティ (Excel)
コレクションに含まれるオブジェクトの数を返します。
Range.CurrentRegion プロパティ (Excel)
現在の領域を表すRangeオブジェクトを返します。
Range.Rows プロパティ (Excel)
指定した範囲の行を表すRangeオブジェクトを返します。