教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について説明していきます。

【ExcelVBA セル操作】選択した範囲のセルを結合(MergeCells)する方法を教えて!

       f:id:m_kbou:20200419071424p:plain

選択した範囲のセルを結合/結合解除する方法について説明します。結合する選択したセルの範囲中に複数データが存在する場合、一番左上に入力されているデータが保持されます。他のセルデータは削除されるので注意して下さい。

 

【目次】

 

構文

記述方法は、以下の通りとなります。

=======================================================================

Range(”[セル範囲]”).MergeCells = True

Range(”[セル範囲]”).MergeCells = False

=======================================================================

[説明]:

選択した範囲のセルを結合するには「Range(”[セル範囲]”).MergeCells = True」と記述し、結合解除するには「Range(”[セル範囲]”).MergeCells = False」と記述します。[セル範囲]には結合するセル範囲を記述します。[セル範囲]は「”」(ダブルクォーテーション)で囲みます。セルを結合するとの意味合いとなるMergeCellsの後にTrueを指定すると指定したセル範囲を結合するとの意味となり、Falseを指定すると結合されているセル範囲を結合解除するとの意味になります。内容を纏めると、「[セル範囲]で指定したセル範囲を結合又は結合解除して下さい。」との意味になります。

[記述例]:

Range("A1:D4").MergeCells = True
Range("A1:D4").MergeCells = False

 

使い方

使い方について、具体的に説明していきます。

選択した範囲のセルを結合する方法

選択した範囲のセルを結合する方法について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    Range("A1:D4").MergeCells = True
    MsgBox "選択したセル範囲を結合しました。"
End Sub

-------------------------------------------------

内容は、「A1セル~D4セルをセル結合し、最後にMsgBoxで”選択したセル範囲を結合しました。”のメッセージを表示して下さい。」との意味になります。

[実行例]:

(実行前)

※A1セル~D4セルにデータが入力されています。

f:id:m_kbou:20190904080839p:plain

(実行後)

※A1セル~D4セルを結合した後、”選択したセル範囲を結合しました。”のメッセージが表示されます。(一番左上セル(A1セル)に入力されていた●のみが表示され、その他のセルに入力されていたデータは削除されました)

f:id:m_kbou:20190904080855p:plain

選択した範囲のセルを結合する方法についての説明は以上です。

 

結合されたセル範囲を解除する方法

結合されたセル範囲を解除する方法について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    Range("A1:D4").MergeCells = False
    MsgBox "結合されたセル範囲の結合を解除しました。"
End Sub

-------------------------------------------------

内容は、「結合されたA1セル~D4セルのセル範囲を解除し、最後にMsgBoxで”選択したセル範囲の結合を解除しました。”のメッセージを表示して下さい。」との意味になります。

[実行例]:

(実行前)

※A1セル~D4セルのセル範囲が結合されており、結合セルに●が入力されています。

f:id:m_kbou:20190904080909p:plain

(実行後)

※結合されたセル範囲を解除し、”結合されたセル範囲の結合を解除しました。”のメッセージが表示されます。(結合を解除する事で、結合セルに入力されていた●が一番左上セル(A1セル)に表示されます)

f:id:m_kbou:20190904080921p:plain

結合されたセル範囲を解除する方法についての説明は以上です。

  

おわりに

今回は選択した範囲のセルを結合する方法について説明しました。上記でも説明しましたが、結合されたセル範囲は一番左上セルが有効となります。よって、データを入力する場合には一番左上セルを指定する必要がありますので注意して下さい。