セルの結合と解除。

執筆者:

カテゴリ:

目的

  • セルを結合したい。
  • セルが結合されているか調べる。
  • 結合後のアドレスを取得したい。
  • 結合を解除したい。

その一例

  1. 白紙のワークシートでテストしてみます。
白紙のワークシート。
白紙のワークシート。
  • 下記マクロを実行してみます。 B2:C4 の範囲を結合します。
    Sub B2からC4結合()
      Range("B2:C4").Merge
    End Sub
    1. 実行結果は以下のようになりました。
  • 結合されている。
    結合されている。
  • 結合後のセルを選択すると、名前ボックスに「B2」と表示されました。左上のセルが基準になっているようです。
  • (1) 結合後セルを選択。(2) 名前ボックスに B2 と表示されている。
    (1) 結合後セルを選択。(2) 名前ボックスに B2 と表示されている。
  • 指定セルが結合されているかどうかの真偽値を取得してみます。
    Sub セルが結合されているか調べる()
    Debug.Print Range("B2").MergeCells
    End Sub
    1. VBE のイミディエイトウィンドウに以下の内容が出力されました。
  • 結合の判定結果。
    結合の判定結果。
  • 結合範囲全体のセルアドレスを取得してみます。
    Sub 結合されている範囲取得()
    Debug.Print Range("B2").mergearea.Address
    End Sub
    1. VBE のイミディエイトウィンドウに以下の内容が出力されました。
  • 結合範囲と一致しています。
    結合範囲と一致しています。
  • 結合範囲に文字を入力してみます。
    Sub 結合範囲に文字入力()
    Range("B2").Value = "ABC"
    End Sub
    1. 実行結果は以下のようになりました。
  • ABC と入力されている。
    ABC と入力されている。
  • 入力した文字を取得してみます。
    Sub 文字取得()
    Debug.Print Range("B2").Value
    End Sub
    1. VBE のイミディエイトウィンドウは以下のようになりました。
  • 取得に成功しました。
    取得に成功しました。
  • セルの結合を解除してみます。
    Sub セル結合解除()
    Range("B2").UnMerge
    End Sub
    1. 実行結果は以下のようになりました。
  • 結合が解除されている。
    結合が解除されている。

    マクロストック

    Sub 行単位で結合()
    Range("B2:C4").Merge (True)
    End Sub

    Mergeメソッドに True を指定すると行単位で結合されるようです。

    行単位で結合されている。
    行単位で結合されている。
    Sub 罫線を引く()
    Range("A1:D5").Borders.Color = vbBlue
    End Sub
    結合結果が見やすくなりました。
    結合結果が見やすくなりました。

    テスト環境

    • Windows 10(64 ビット)
    • Microsoft Office Excel 2003

    以上、閲覧ありがとうございました。