はじめに
今回は、セルを結合する方法について解説します。
ユーザへ見やすくするために、セルを結合することは多いかと思います。
本記事では、基本構文から汎用的なサンプルコードまで掲載していますので、ぜひ最後までお付き合いください。
この記事を読むメリット
- セルを結合する方法が分かります。
- セル結合時の注意点(警告メッセージの無視など)も詳しく解説します。
- コピペで使える実践的なサンプルコードを掲載しています。
基本情報
Mergeメソッド
セルを結合するには、RangeオブジェクトのMergeメソッドを使用します。
構文
構文
Rangeオブジェクト.Merge(Across)
※緑文字は引数です。
引数
# | 引数 | 必須/任意 | 説明 |
---|---|---|---|
1 | Across | 任意 | TrueかFalseを指定。 Trueの場合:行単位で結合する False および 省略した場合:指定したすべてのセル範囲を結合する。 |
りゅう
基本的には、False(引数指定なし)で問題ないです!
結合対象のセルに複数の値があった場合、警告メッセージが表示されます。
途中で処理が停止してしまうため、警告メッセージをOFFにしましょう。
また、指定した範囲の左上端にあるセルに入力される値が、結合後のセルに表示されます。
左上端以外の値は消えてしまうため注意してください。
サンプルコード
セルを結合する(Range指定)
サンプルコード
Public Sub mergeCell()
' 警告メッセージをOFFにする
Application.DisplayAlerts = False
' A1セルとA2セルを結合する
Worksheets("Sheet1").Range("A1:A2").Merge
' 警告メッセージをONにする
Application.DisplayAlerts = True
End Sub
都度、警告メッセージのON/OFFをするのは冗長になってしまうため、共通化をするのがオススメです。
サンプルコード – 共通化 クリックで展開
サンプルコード
Public Sub main()
Dim mergeRange As Range ' 結合対象セル
' 結合対象セルをセット
Set mergeRange = Worksheets("Sheet1").Range("A1:B1")
' セルの結合実行
Call mergeCell(mergeRange)
End Sub
Private Sub mergeCell(ByVal mergeRange As Range)
' 警告メッセージをOFFにする
Application.DisplayAlerts = False
' セルを結合する
mergeRange.Merge
' 警告メッセージをONにする
Application.DisplayAlerts = True
End Sub
セルを結合する(Cells指定)
サンプルコード
Public Sub mergeCell()
' 警告メッセージをOFFにする
Application.DisplayAlerts = False
' A1セル ~ B2セルを結合する
Worksheets("Sheet1").Range(Cells(1, 1), Cells(2, 2)).Merge
' 警告メッセージをONにする
Application.DisplayAlerts = True
End Sub
りゅう
先ほど紹介した通り、共通化がオススメです。
サンプルコード – 共通化 クリックで展開
サンプルコード
Public Sub main()
Dim mergeRange As Range ' 結合対象セル
' 結合対象セルをセット
Set mergeRange = Worksheets("Sheet1").Range(Cells(1, 1), Cells(2, 2))
' セルの結合実行
Call mergeCell(mergeRange)
End Sub
Private Sub mergeCell(ByVal mergeRange As Range)
' 警告メッセージをOFFにする
Application.DisplayAlerts = False
' セルを結合する
mergeRange.Merge
' 警告メッセージをONにする
Application.DisplayAlerts = True
End Sub
最後に
今回は、セルの結合方法について解説しました。
セルの結合については注意点も多い為、本記事を読んで安全にご使用ください。
本記事が、皆さんのお力になれば幸いです!
コメント