📘 Excel逆引き事典

【VBA】結合されたセルをエラー処理付きで別ブックとして保存する方法

手作業で結合されたセルを別のワークブックに移動するのは時間がかかります。この記事では、VBAを使用して簡単に結合されたセルをエラー処理付きで別ブックとして保存する方法を紹介します。

サンプルコード

VBA
Option Explicit
Sub SaveMergedCellsAsNewWorkbook()
    ' エクセルの更新を停止し、警告メッセージを非表示に設定
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    
    Dim ws As Worksheet, wbNew As Workbook
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    ' 新しいワークブックを作成
    Set wbNew = Workbooks.Add
    
    On Error GoTo ErrorHandler
    
    ' 結合されたセルの範囲を取得(例:A1:A5)
    Dim mergedRange As Range
    Set mergedRange = ws.Range("A1:A5")
    
    ' 範囲を新しいワークブックにコピー
    mergedRange.Copy wbNew.Sheets(1).Range("A1")
    
    ' 新しいワークブックを保存
    wbNew.SaveAs ThisWorkbook.Path & "\MergedCellsBook.xlsx"
    
    ' ワークブックの更新と警告メッセージを元に戻す
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    
    MsgBox "結合されたセルが別ブックとして保存されました。", vbInformation
    Exit Sub
ErrorHandler:
    MsgBox "エラー: 結合されたセルの範囲に問題があります。", vbCritical
End Sub

よくある質問

Q 元に戻せますか?

A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。

Q エラーが出たら?

A.
シート名や列番号が正しいか確認してください。