教えて!ExcelVBA!

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

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

f:id:m_kbou:20200419071424p:plain

セル範囲を結合又は結合解除するにはMergeCellsプロパティを使用します。セル範囲を結合する際に複数のデータが存在する場合は、一番左上のデータのみが保持されて他のデータは削除されてしまいます。この点は予め注意して使用して下さい。この選択したセル範囲を結合/結合解除する方法について紹介します。

 

 

構文

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

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

[説明]:

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

[記述例]:

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

 

使い方

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

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

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

[プログラミング例]:

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

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

f:id:m_kbou:20210413125246p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。また、A1セル~D4セルの範囲にデータが入力されています。<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210413125234p:plain

②結合確認メッセージが表示されます。メッセージは「セルを結合すると、左上の値のみが保持され、他のセルの値は破棄されます。」との事で、今回の例で説明すると「指定範囲のセルを結合した後にA1セルに入力されている”●”のみを残しその他のデータは破棄します。」との意味になります。

f:id:m_kbou:20210413125412p:plain

③指定範囲のセルが結合されて”●”のみが残り、MsgBoxで「選択したセル範囲を結合しました。」が表示されます。

f:id:m_kbou:20210413125813p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

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

 

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

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

[プログラミング例]:

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

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

f:id:m_kbou:20210413131643p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。また、A1セル~D4セルの範囲が結合されて”●”が入力されています。<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210413131703p:plain

②結合された範囲が結合解除され、A1セルに”●”のみが残ります。また、MsgBoxで「結合されたセル範囲の結合を解除しました。」が表示されます。

f:id:m_kbou:20210413131716p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

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

  

おわりに

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