← コード一覧へ戻る
実務ブック

ブックが変更されているかどうか判定する

最後の保存から変更があるかを表示します。

実行前に確認

  • まずコピーした練習用ブックで試してください。VBAの変更は通常の[元に戻す]で戻せません。

1サンプルコード

Sub Sample3011()
    If ThisWorkbook.Saved Then
        MsgBox "未保存の変更はありません。"
    Else
        MsgBox "未保存の変更があります。"
    End If
End Sub

図で見る操作の流れ

イメージ図

コードに沿った概念図です。実際の画面や実行結果ではありません。

  1. 対象

    このコードを保存したブックの現在の状態

  2. マクロ:Savedを確認

    最後の保存後に未保存の変更があるか調べる

  3. マクロ:結果を表示

    Trueなら「未保存の変更はありません。」、Falseなら「未保存の変更があります。」

このコードは保存や変更の破棄を行いません。

コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。

使い方・実行手順を確認する3つの手順で、コードの使い方を確認できます
  1. 1

    練習用のブックをExcelマクロ有効ブック(.xlsm)で保存します。

  2. 2

    Alt+F11でVBEを開き、[挿入]→[標準モジュール]にコードを貼り付けます。

  3. 3

    Sample3011内にカーソルを置いてF5で実行します。最後の保存から変更があるかを表示します。

使っている機能の公式ドキュメント(Microsoft Learn)