【マクロVBA】セルの結合・解除をする方法!選択・複数・指定範囲にも活用できるUn・Mergeとは

セル操作

今回の記事はマクロVBAを用いてセルの結合・解除する方法についてまとめています。

プログラムの構造自体は簡単なので
是非参考にしてみてください。

それでは見ていきましょう。




■忙しい人向けのコピペ用プログラム

赤文字の指定範囲はカスタムして使用してください

青文字のMergeまたはUnMergeはどちらかを指定してください

Sub 選択範囲を結合または解除()
Range("指定範囲").MergeまたはUnMerge
End Sub

⬛︎プログラムの構造

セルの結合:結合したい範囲=Merge
結合の解除:解除したい範囲=UnMerge

⬛︎セルの結合をする

ではセルの結合から見ていきましょう。
今回は様々なパターンを想定して各パターンを紹介したいと思います。

・選択した範囲を結合する

まず選択した範囲を結合する方法についてです。
プログラムは下記の通りです。

Selection.Merge

では見本でB2からC5を選択して結合するプログラムを紹介します。

Sub 選択範囲を結合()

Range(“B2:C5“).Select
Selection.Merge

End Sub

実行した結果はこちらです。

B2からC5までを選択し結合することができました。

・指定範囲を結合する

次に指定範囲を結合する方法について紹介します。

こちらの方法が1番使いやすく、汎用性があります。先程は結合範囲をselectで選択して結合しましたが、指定範囲を一気に結合するイメージです。
プログラムの仕組みは下記のようになります。

Range(結合したい範囲).Merge

では実践です。
B3からD6を選択して結合するプログラムを作成してみましょう。
結果はこのようになります。

Sub 選択範囲を結合()

Range(“B3:D6“).Merge

End Sub

実行した結果はこちらです。

狙い通り結合できていますね。

⬛︎セルの結合を解除をする

先程は結合について紹介しましたが、
今度はセルの結合の解除を見ていきましょう。

・選択した範囲の結合を解除する

まず選択した範囲の結合を解除する方法について紹介します。
プログラムは下記の通りです。

Selection.UnMerge

では見本でB2からC5で結合しているセルを選択して解除するプログラムを紹介します。

Sub 選択範囲の結合を解除()

Range(“B2:C5“).Select
Selection.UnMerge

End Sub

結果はこのようになります。

狙い通り結合を解除することができました。

・指定範囲の結合を解除する

次に指定範囲の結合を解除する方法について紹介します。

プログラムの仕組みは下記のようになります。

Range(結合したい範囲).UnMerge

こちらは指定した範囲のみ解除するわけでなく
指定範囲内にある結合セルはすべて解除されます。
例えばA1からC5まで結合されたセルがあったとします。
しかし解除の指定範囲をA1からA5にして実行しても、範囲外のB1からC5も同じ結合セル内なので解除となります。

では実践です。
B2からC5を指定範囲として結合しているセルを解除するプログラムを作成してみましょう。
結果はこのようになります。

Sub 選択範囲の結合を解除()

Range(“B2:C5”).UnMerge

End Sub

実行した結果はこちらです。

狙い通り結合を解除できていますね。

⬛︎公式の説明

わかりやすいように説明したため公式と使用する語句が異なりますが
マイクロソフト公式の説明については下記のリンクを参照してください。☟

Range.Merge メソッド (Excel) | Microsoft Learn

Range.UnMerge メソッド (Excel) | Microsoft Learn

⬛︎まとめ

いかがだったでしょうか。
通常使用するセルの結合・解除がVBAでも可能なので、使用機会があれば是非参考にしてみてください。

それでは次回の記事でお会いしましょう。

コメント