
初めて質問させていただきます。
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...
-
jdk17.06のインストーラーが起...
-
Windowsが起動しなくなってしま...
-
信長の野望 革新について
-
Kirium Mail Sever のインスト...
-
コマンドボタンのキャプション...
-
実行プログラム名の取得
-
コマンドプロンプトのERRORLEVE...
-
ACCESS2007のコマンドライン引...
-
ctfmon.exe。スタック ベースの...
-
.netでスタートページでエラー...
-
web.configとは?(初心者です)
-
ASP AccessDBオープン出来ない
-
Windows10でwindows8やwindows7...
-
IIS7.5 Excel ファイルオープ...
-
「予期しないエラーが発生しま...
-
VB2010 Dataset内のDB接続先変更
-
ASP.NETのパフォーマンスと接続...
-
ASP.netのweb.configについて
-
Ubuntuで自動関連付けをするには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TeraTermマクロの”Link...
-
Windowsが起動しなくなってしま...
-
コマンドボタンのキャプション...
-
タイマーマクロの二重起動防止...
-
権限昇格の確認を出さないプロ...
-
C#からvbsを実行したい
-
実行プログラム名の取得
-
スキャンディスクが始まらない
-
audiveris(pdf楽譜を読み込む...
-
VB.NETからLINUXのSH起動
-
信長の野望 革新について
-
jdk17.06のインストーラーが起...
-
VBAカウントダウンタイマーの2...
-
Media Gallery?勝手に起動
-
ACCESSのネットワーク環境でMDB...
-
alphaEDITのソフトウェアが起動...
-
MacBookAir起動時にRubyソース...
-
webサーバ上でEXEを起動するには?
-
デフラグについて
-
office2013 ExcelのPersonal.xl...
おすすめ情報