サイトについて      連絡先   検索

VBA セルを結合する

はじめに

Excel VBA のセルを結合する方法を紹介します。

Range.Merge メソッドか Cells.Merge メソッドでセルを結合できます。

Range.MergeCells プロパティでも結合できます。

セルを結合する

Range の引数にセル名を指定すると、そのセルの範囲を結合できます。

セル「A1」~「B2」を結合するには Range("A1:B2").Merge のように指定します。

Range("A1:B2").Merge
3

Marge の引数に True を指定すると行単位で結合できます。

Call Range("A1:B2").Merge(True)
1

Range("A1:B2").MergeCells = True のように指定しても結合できます。

Range("A1:B2").MergeCells = True

結合するセルに違う値が入っているときはメッセージが表示されます。

2

これを表示させないようにするには Application.DisplayAlerts = False のように指定します。結合処理が終わったら True に戻します。

Application.DisplayAlerts = False
Range("A1:B2").Merge
Application.DisplayAlerts = True

指定したシートのセルを結合する

Range.Merge とコードに書くと、アクティブなシートのセルを結合します。これは ActiveSheet.Range.Merge の ActiveSheet が省略されています。

' どちらも同じコード
Range("A1:B2").Merge
ActiveSheet.Range("A1:B2").Merge

シートを指定するには Sheets の引数にシート名またはインデックスを指定します。

1

Sheet1 のシートを指定するには、Sheets("Sheet1") か Sheets(1) と書きます。

' Sheet1 のセル「A1」~「B2」を結合
Sheets("Sheet1").Range("A1:B2").Merge
Sheets(1).Range("A1:B2").Merge

' Sheet2 のセル「A1」~「B2」を結合
Sheets("Sheet2").Range("A1:B2").Merge
Sheets(2).Range("A1:B2").Merge

関連ページ