📘 Excel逆引き事典

【VBA】空白セルを確認メッセージ無しで別ブックとして保存する方法

日々の業務で大量のデータを扱っていると、エクセルシートに空白セルが混在していることがあります。しかし、これらの空白セルがある場合でも新しいブックとして保存したいとき、通常は警告メッセージが出力され、作業が中断してしまいます。この記事では、VBAを使用することで、確認メッセージ無しで空白セルを含むデータを別のエクセルファイルとして保存する方法を紹介します。

サンプルコード

VBA
Option Explicit
Sub SaveWorkbookWithoutAlerts()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim i As Long
    
    '警告メッセージの表示をオフにする
    Application.DisplayAlerts = False
    
    'アクティブシートを取得
    Set ws = ActiveSheet
    
    '最終行を取得
    lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
    
    '画面更新の停止
    Application.ScreenUpdating = False
    
    '新しいブックを作成
    Dim newWorkbook As Workbook
    Set newWorkbook = Workbooks.Add
    
    'データをコピー
    ws.Range("A1:A" & lastRow).Copy Destination:=newWorkbook.Sheets(1).Range("A1")
    
    '新しいブックを保存
    newWorkbook.SaveAs "C:\Users\YourUsername\Desktop\NewBook.xlsx"
    
    '画面更新の再開と警告メッセージの表示をオンにする
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

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