今回の記事はマクロVBAを用いてセルの結合・解除する方法についてまとめています。
プログラムの構造自体は簡単なので
是非参考にしてみてください。
それでは見ていきましょう。
■忙しい人向けのコピペ用プログラム
赤文字の指定範囲はカスタムして使用してください
青文字のMergeまたはUnMergeはどちらかを指定してください
Sub 選択範囲を結合または解除() Range("指定範囲").MergeまたはUnMerge End Sub
⬛︎プログラムの構造
セルの結合:結合したい範囲=Merge
結合の解除:解除したい範囲=UnMerge
⬛︎セルの結合をする
ではセルの結合から見ていきましょう。
今回は様々なパターンを想定して各パターンを紹介したいと思います。
・選択した範囲を結合する
まず選択した範囲を結合する方法についてです。
プログラムは下記の通りです。
Selection.Merge
では見本でB2からC5を選択して結合するプログラムを紹介します。
Sub 選択範囲を結合()
Range(“B2:C5“).Select
Selection.MergeEnd 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.UnMergeEnd 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でも可能なので、使用機会があれば是非参考にしてみてください。
それでは次回の記事でお会いしましょう。
コメント