構文
Range.Merge(Across)
Range.UnMerge
Across・・・True 行単位で結合する / False(規定値)指定範囲で結合する【省略可能】
Mergeでセルを結合、UnMergeでセルの結合解除をします。
セル結合は「Range.MergeCells プロパティ」でも可能ですが、本ページでは説明しません。
結合Mergeメソッド/結合解除UnMergeメソッドのコードサンプル
Public Sub test()
'■セル「A1~B3」を結合する
Range("A1:B3").Merge
'■セル「A4~B6」を行単位で結合する
Range("A4:B6").Merge (True) '→「A4~B4」「A5~B5」「A6~B6」の3つの結合セルが出来上がる
'■下記のようなポップアップが出る場合は、Application.DisplayAlerts = Falseで表示させない
'セルを結合すると、左上の値のみが保持され、他のセルの値は破棄されます
'選択範囲には複数のデータ値があります。1つのセルとして結合すると、 選択した範囲にある最も左上端にあるデータのみが保持されます(空白セルは無視されます)。
Application.DisplayAlerts = False
Range("A7:B8").Merge
Application.DisplayAlerts = True
'■結合解除は、結合セルの範囲のどの位置でも解除される。(一番左上のセルを選択しなくても良い)
Range("A1:B3").Merge
Range("A1").UnMerge 'A1:B3の結合を解除
Range("A2").UnMerge 'A1:B3の結合を解除
Range("B3").UnMerge 'A1:B3の結合を解除
End Sub
注意点
- 結合セルというのは見た目だけは良いです。見た目だけです。
VBAで使う場合は注意しないと、意図しない不具合を誘発します。
結合セルの初期化(ClearContents)のエラーを回避する
セルの結合は厄介?結合で実行結果が異なる【エクセルマクロ】



コメント