セルの結合と解除
Excel VBA を使ってセルを結合する方法および解除する方法について解説します。
(Last modified: )
目次
セルの結合と解除
セルを結合するには、結合するセル範囲を表すRangeオブジェクトに対して「MergeCells」プロパティをTrueを設定します。
Dim range1 As Range Set range1 = Range("A1:B2") range1.MergeCells = True
セルを結合した場合、結合したセル範囲の左上にあるセルに含まれていた値だけが有効となります。その他のセルに含まれていた値は全て削除されます。
また結合されたセルに対して引き続き水平位置の指定などを行いたい場合には、結合したセル範囲の左上のセルに対して行います。
Dim range1 As Range Set range1 = Range("A1:B2") range1.MergeCells = True Range("A1").HorizontalAlignment = xlCenter Range("A1").Value = "新しい値"
また結合されたセルを解除する場合には、同じプロパティに「False」を設定して下さい。
Range("A1:B2").MergeCells = True Range("B1").MergeCells = False
セルを解除する場合には解除したい結合セルの中に含まれるどのセルの「MergeCells」プロパティをFalseにしても結構です。
サンプルプログラム
では簡単なサンプルで試してみましょう。
事前に下記のようなExcelファイルを用意しておきます。
セルの結合と解除を試してみます。
Sub テスト() Range("A2:C3").MergeCells = True Range("A2").HorizontalAlignment = xlCenter Range("B4").MergeCells = False End Sub
上記マクロを実行すると次のようになります。
結合する場合に左上のセル以外のセルに値が含まれていた場合、セルの値が削除される警告表示が行われます。
-- --
Excel VBA を使ってセルを結合する方法および解除する方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。