初めて質問させていただきます。
VBA初心者の為、質問自体に不足があるかもしれませんが、ご協力をお願い致します。
エクセル2000(SP3)で複数のブック(仮にA.xls,B.xlsとします)を起動した状態で、Aをマクロを使って保存せずに終了させたところ、Bの操作が出来なくなります。(セル選択等もできません。Bのsheetを選択するとアプリケーションエラーになってしまいます)
同Windows上に他アプリケーションが起動している場合、それらを一度選択してから再度Excelを選択すると、Bの操作が可能になります。
保存せずに終了させる為のマクロは次のとおりです。
ブックAのThisWorkbook内に記述しています。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Workbooks.count = 1 Then
Application.DisplayAlerts = False
Application.Quit
Else
ThisWorkbook.Close SaveChanges:=False
End If
End Sub
以上、よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
Workbook_BeforeCloseイベントはClose『前』に実行されるイベントで、
そのイベント実行後に、何もしなくてもBookはCloseします。
(イベント内でCancel = True にしなければ)
イベント内で
>ThisWorkbook.Close
を記述してしまうと、そのCloseメソッドによって、
またBeforeCloseイベントを呼び出してしまいます。
>ThisWorkbook.Close
は不要です。というより記述してはいけません。
保存せずに閉じる場合は Savedプロパティ を True にしてあげれば
「保存しますか?」のメッセージは表示されません。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Workbooks.Count = 1 Then
Application.DisplayAlerts = False
Application.Quit
Else
ThisWorkbook.Saved = True
'ThisWorkbook.Close SaveChanges:=False
End If
End Sub
早速のご回答、本当にありがとうございます。
イベント名の通りの挙動でしたね。
ご指摘のとおりClose記述をコメントアウトしたところ、期待通りの動作が確認できました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Excel(エクセル) Excelのマクロコードについて教えてください。 1 2022/03/27 10:47
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TeraTermマクロの”Link...
-
powershellの初心者です(form...
-
信長の野望 革新について
-
Media Gallery?勝手に起動
-
C#からvbsを実行したい
-
「cronから1分毎に起動→処理」 ...
-
Windowsが起動しなくなってしま...
-
windows10でハンゲーム起動でき...
-
デスクトップパソコンのSSD化を...
-
VBAカウントダウンタイマーの2...
-
jdk17.06のインストーラーが起...
-
VBAでファイルを保存せずに閉じ...
-
ASP.NETからエクセルを呼び出せ...
-
HP-UXのシステム起動時からの時...
-
ctfmon.exe。スタック ベースの...
-
タスクバーのボタンがオレンジ...
-
web.configとは?(初心者です)
-
McAfeeの使い方
-
VisualStudioでのプログラミン...
-
Program FilesとProgram Files ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TeraTermマクロの”Link...
-
コマンドボタンのキャプション...
-
Media Gallery?勝手に起動
-
MacBookAir起動時にRubyソース...
-
信長の野望 革新について
-
jdk17.06のインストーラーが起...
-
タイマーマクロの二重起動防止...
-
C#からvbsを実行したい
-
実行プログラム名の取得
-
windows10でハンゲーム起動でき...
-
Windowsが起動しなくなってしま...
-
WindowsのコマンドラインからEx...
-
デスクトップパソコンのSSD化を...
-
audiveris(pdf楽譜を読み込む...
-
エクセルで『DTPicker』が削除...
-
VBAカウントダウンタイマーの2...
-
コマンドプロンプトのERRORLEVE...
-
runasで起動したコマンドプロン...
-
ソフトの多重起動制限
-
Apache2.2起動しない・・・助け...
おすすめ情報