【Excel VBA】セルを結合する基本コードとやさしい解説

VBA & Excel
スポンサーリンク
スポンサーリンク

はじめに

Excelで作業をしていると、
「見出しを大きくまとめたい」
「表のレイアウトを整えたい」
そんな理由でセルを結合する場面があります。

ただ、セル結合は便利な反面、
後の作業に影響しやすい繊細な機能 でもあります。

ここでは、セルを結合する基本のコードと、
実務で安全に使うための考え方を解説します。

まずはコードを確認

Range("A1:B1").Merge

もっともシンプルな書き方です。
A1 と B1 を結合して、ひとつのセルにします。

コードのしくみを解説

Range(“A1:B1”).Merge でセルを結合する

Merge は、指定した範囲をひとつのセルにまとめるメソッドです。

  • 左上のセルの値が残る
  • 他のセルの値は消える(注意)

結合と同時に中央揃えにする

With Range("A1:B1")
.Merge
.HorizontalAlignment = xlCenter
End With

見出しを整えるときによく使うパターンです。

変数で結合範囲を指定する

Dim r As Range
Set r = Range("A1:B1")
r.Merge

動的に結合範囲を変えたいときに便利です。

セル結合の注意点(実務で特に大切)

結合セルは並べ替えやフィルタと相性が悪い

結合セルがあると、並べ替えやフィルタが正しく動作しないことがあります。

→ 表の中では結合を避ける のが安全です。

結合セルはコピー・貼り付けで形が崩れやすい

→ レイアウトが変わる可能性があるため、慎重に扱います。

結合セルの値は左上セルにしか残らない

→ 結合前に値を退避しておくと安心です。

セル結合を解除する

Range("A1:B1").UnMerge

結合を解除すると、セルは元の形に戻ります。

応用:複数行・複数列をまとめて結合する

Range("A1:C2").Merge

2行×3列の範囲をひとつのセルにまとめます。

応用:結合セルに値を入れる

Range("A1:B1").Merge
Range("A1").Value = "見出し"

結合後は左上セルに値を入れます。

まとめ

  • Range(“A1:B1”).Merge でセルを結合できる
  • 結ー合セルは便利だが、並べ替え・フィルタと相性が悪い
  • 結合前に値が消える可能性があるため注意
  • UnMerge で結合解除もできる

セル結合は、表の見た目を整えるための小さな工夫です。
VBAで扱えるようになると、レイアウト調整がぐっと楽になります。


decopon
decopon

セル結合は、見た目を整えるためのやさしい一手です。
ただ、実務では扱いに注意が必要な機能でもあります。
基本を押さえておくことで、安心して使えるようになります。

moco
moco

セルをひとつにまとめると、表がすこし落ち着くね。
VBAは、そんな整えごとも静かに手伝ってくれるよ。

コメント

タイトルとURLをコピーしました