このマクロは、アクティブブックに変更があったときだけ、ブックの上書きをします。
Savedプロパティを使うと、ブックの変更の有無を確認することができます。
Savedプロパティは、変更されているときにはFalseを、変更されていないときにはTrueを返します。
目次
ブックに変更があったときだけ上書き保存するマクロ
■ コード内を「Wクリック」で選択できます。
Sub サンプル3160() <pre><code>If ActiveWorkbook.Saved = False Then MsgBox "ブックの変更を保存します。" ActiveWorkbook.Save Else MsgBox "ブックは変更されていません。" End If</code></pre> End Sub
ブックが変更されていない時
■ マクロの実行結果
メッセージボックスの「ブックは変更されていません。」が表示されます。

ブックが変更されている時
「ブックを上書き保存します」を「ブックに変更があったときだけ上書き保存するマクロ」と変更します。
■ マクロの実行結果
「ブックの変更を保存します。」が表示されます。

Savedプロパティについて
■ Savedプロパティ=False
■ コード内を「Wクリック」で選択できます。
Sub サンプル3165() <pre><code>ActiveWorkbook.Saved = False ActiveWorkbook.Close</code></pre> End Sub
Saved = False
’ Saved=Falseの時は「保存しますか?」が表示されます。
■ マクロの実行結果
ブックを閉じるときに、確認画面がでます。

■ Savedプロパティ=True
■ コード内を「Wクリック」で選択できます。
Sub サンプル3170() <pre><code>ActiveWorkbook.Saved = True ActiveWorkbook.Close</code></pre> End Sub
Saved = True
’ Savedプロパティ=Trueの時は「保存しますか?」が表示されません。
例えば、Book1の「Savedプロパティの説明」を「ブックを変更しました」と変更します。

■ マクロの実行結果
「保存しますか?」が表示されないで、画面が閉じます。
このとき、Book1の変更は保存されないで、変更する前の表示のままです。

関連記事
- ブックの表示位置を指定する
- エクセルウィンドウのサイズを最大化、標準、最小化する
- ブックの大きさを指定する
- ワークシートの非表示と表示のマクロ
- 新しいブックを作成するマクロ
- 指定したフォルダのブックを開くマクロ
- ブックを保存してから閉じるマクロ
- ブックを上書き保存するマクロ
- ブックに変更があった時だけ上書き保存するマクロ
- すべてのブックを保存して Excel を終了するマクロ
- 新規ブックを作成時にファイル形式を指定するマクロ
- アクティブウィンドウをコピーして開くマクロ
- ウィンドウ枠を固定するマクロ
- ブック名、パスを取得するマクロ
- 開いているブックの数を表示するマクロ
- 新規ブックのシート数を設定するマクロ
以上で「ブックに変更があった時だけ上書き保存するマクロ」の説明を終わります。