目次

目的

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

目次まで戻る

その一例

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

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

目次まで戻る

同じカテゴリの投稿(Excel VBA)

前後の投稿