Excel VBA 質問スレッド №2075 (解決済)
上書き保存の条件設定
投稿者 : SAYS 投稿日時 : 2025/02/03(Mon) 17:03:06 OS : Windows 10 EXCEL : Office 365
初めて質問させて頂きます。
上書き保存をするために条件を設定しています。
現状だとメッセージを表示した後bookが閉じてしまうのですが
bookを閉じずに、条件を満たすための操作が出来る様にしたいです。
色々検索し、試してみたのですがうまく行きません。
どのようにすればよいか、ご教授お願いいたします。
初めて質問させて頂きます。
上書き保存をするために条件を設定しています。
現状だとメッセージを表示した後bookが閉じてしまうのですが
bookを閉じずに、条件を満たすための操作が出来る様にしたいです。
色々検索し、試してみたのですがうまく行きません。
どのようにすればよいか、ご教授お願いいたします。
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If ActiveSheet.Range("A3").Value = "" Then MsgBox "A3が空欄なので上書き保存出来ません。" & vbLf & _ "処理を中止します。", vbCritical, "警告" Cancel = True End If End Sub
スポンサーリンク
[返信 1] Re : 上書き保存の条件設定
投稿者 : ピロリ 投稿日時 : 2025/02/03(Mon) 18:44:13
↑は上書き保存をキャンセルするだけです。
ブックのクローズをキャンセルしたいのなら↓では。
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Cancel = True End Sub
↑は上書き保存をキャンセルするだけです。
ブックのクローズをキャンセルしたいのなら↓では。
Private Sub Workbook_BeforeClose(Cancel As Boolean) Cancel = True End Sub
[返信 2] Re : 上書き保存の条件設定
投稿者 : てらてら 投稿日時 : 2025/02/03(Mon) 20:03:42
こんにちは。
やりたい事は、こんな感じでしょうか?
参考にしてください。
もし初回にA3セルを空白で開きたい場合は、少々工夫が必要になります。
こんにちは。
やりたい事は、こんな感じでしょうか?
参考にしてください。
'/// 以下のコードはThisWorkbookモジュールに書きます。 Function IsSave() As Boolean Dim b As Boolean b = False If ActiveSheet.Range("A3").Value <> "" Then b = True IsSave = b End Function Private Sub Workbook_BeforeClose(Cancel As Boolean) If IsSave = False Then MsgBox "A3が空欄のまま終了出来ません。" & vbLf & _ "処理を中止します。", vbCritical, "警告" Cancel = True End If End Sub Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If IsSave = False Then MsgBox "A3が空欄なので上書き保存出来ません。" & vbLf & _ "処理を中止します。", vbCritical, "警告" Cancel = True End If End Sub
もし初回にA3セルを空白で開きたい場合は、少々工夫が必要になります。
[返信 3] Re : 上書き保存の条件設定
投稿者 : SAYS 投稿日時 : 2025/02/04(Tue) 09:51:43
ご教授ありがとうございます。
↑では、「ctrl+S」や「ファイル→上書き保存」が出来てしまうので使用をさけていました。
こちらの制御は別になるのでしょうか?
勉強不足で申し訳ありません。
ご教授ありがとうございます。
↑では、「ctrl+S」や「ファイル→上書き保存」が出来てしまうので使用をさけていました。
こちらの制御は別になるのでしょうか?
勉強不足で申し訳ありません。
[返信 4] Re : 上書き保存の条件設定
投稿者 : SAYS 投稿日時 : 2025/02/04(Tue) 09:54:45
ピロリ様
お名前が抜けており、大変失礼いたしました。
■[返信 3] SAYSさん(2025-02-04 09:51:43)の記事
> ご教授ありがとうございます。
>
> ↑では、「ctrl+S」や「ファイル→上書き保存」が出来てしまうので使用をさけていました。
> こちらの制御は別になるのでしょうか?
>
> 勉強不足で申し訳ありません。
ピロリ様
お名前が抜けており、大変失礼いたしました。
■[返信 3] SAYSさん(2025-02-04 09:51:43)の記事
> ご教授ありがとうございます。
>
> ↑では、「ctrl+S」や「ファイル→上書き保存」が出来てしまうので使用をさけていました。
> こちらの制御は別になるのでしょうか?
>
> 勉強不足で申し訳ありません。
[返信 5] Re : 上書き保存の条件設定
投稿者 : SAYS 投稿日時 : 2025/02/04(Tue) 09:59:57
てらてら様
ご教授ありがとうございます。
おっしゃる通りで、希望通りに動作ができました。
コードの意味を分かりかねていますので、勉強していきます。
てらてら様
ご教授ありがとうございます。
おっしゃる通りで、希望通りに動作ができました。
コードの意味を分かりかねていますので、勉強していきます。
当掲示板について
- Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
- 記事内ではHTMLのタグは使用できません。
- 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
- Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
- Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
( 処理日時 : 2025-02-07 22:51:36 )