Excel VBAで全シートの結合セルを一括解除する方法【サンプルコード付き】

VBA
記事内に広告が含まれています。

この記事では Excel の各シートの結合されたセルを一括で解除する VBA マクロを紹介します。
手作業で解除するのが面倒なときに便利です。

《広告》

仕様

以下のようなブックを想定しています:

  • 複数シートがある
  • 各シートに結合セルがある

実行するとすべてのシートの結合セルが解除されます。

Before

複数シートに結合セルがあり、目視で解除するのは面倒…

After

VBA を実行すると全シートの結合セルが一括で解除される

※以下の画像だと、Sheet1、Sheet2、Sheet3全部解除

VBAサンプルコード

UnMerge関数を使用することによって、セル結合が解除できます。

Worksheet(XXXXXX).UsedRange.UnMerge

シートの数だけループし、UnMerge関数で各シートのセル結合を解除します。

Option Explicit

Sub unMergeAllSheets()

    Dim SheetNo As Long
    For SheetNo = 1 To Worksheets.Count
        
        ' 全シートの結合セルを解除
        Worksheets(SheetNo).UsedRange.UnMerge
        
    Next SheetNo

End Sub

これをThisWorkbookのところで実装しています。

※UnMergeをMergeに書き換えないようにご注意を。

Excelでの実行手順

実行手順

  1. Alt + F11 で VBA エディタを開く
  2. ThisWorkbook に上記コードを貼り付ける
  3. Alt + F8 で「unMergeAllSheets」を選択
  4. 実行する

【Alt + F8で開かれるマクロ一覧画面】

これでさきほどの「unMergeAllSheets()」関数が実行されます。

実行結果

Sheet1~Sheet3までのすべてのシートのセル結合が解除されました。

シート「Sheet1」

シート「Sheet2」

シート「Sheet3」

参考情報

環境

下記の環境で作成・実行しております。

No.環境バージョン
1OSWindows11
2ExcelExcel2016
環境一覧

以上です。

田舎のエンジニア

日本の田舎に住むITエンジニアです。
新卒からしばらくは東京都内で働いていましたが、30歳を過ぎた頃に自分の生き方を見直し、地方へ移住しました。
現在はノーコード、クラウド(Azure)、C# などを中心に、個人的な検証や学習を続けています。
自宅ではできるだけコストをかけず、実際に手を動かしながら試すことを大切にしています。
このブログでは、個人で取り組んだ技術的な試行錯誤や気づきを記録しています。

田舎のエンジニアをフォローする