- ベストアンサー
エクセルVBAについて
今、エクセルVBAでマクロの作成を行っています マクロの中で、作業用に別なエクセルとシートを作成したのですが マクロの最後でその作業用のエクセルとシートを削除する用にしました。 その際に、エクセルがメッセージボックスが開き 『このエクセルブックを閉じますか』や『このシートを削除してよろしいですか』などと聞いてきます。 このボックスを出さないように強制的に消すことは出来ないのでしょうか? 出来るのであれば、やり方を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
初めまして。サンプルマクロを組んでみました。参考にしてみて下さい。 Sub Test Application.DisplayAlerts = False workbooks("作業用に用意したブック名.xls").close SaveChanges:=FAlse workbooks("削除したいシートがあるブック名.xls").worksheets("削除したいシート名").delete Application.DisplayAlerts = True End Sub これで、メッセージを出さずにブックも保存せず終了できますし、シートも削除されると思います。お試しになってみて下さい。 もし、何かございましたらご遠慮なく補足要求をして下さい。
その他の回答 (3)
- ruburubu
- ベストアンサー率48% (15/31)
シートの削除については、No.1の方のやり方で良いようです。 ヘルプより 次の使用例は、確認のダイアログ ボックスを表示しないで、作業中のブックのシート 3 を削除します。 Application.DisplayAlerts = False Worksheets("Sheet3").Delete Application.DisplayAlerts = True
お礼
ありがとうございます そういうことだったんですね^^
- ruburubu
- ベストアンサー率48% (15/31)
Closeメソッドで、SaveChanges = Trueにすれば良いのでは。 新規ブックを開いて、適当に書き込みしたあと、閉じる例 Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2002/11/22 ユーザー名 : ' ' Workbooks.Add ActiveCell.FormulaR1C1 = "aaa" ActiveWindow.Close (SaveChanges = True) End Sub
お礼
ありがとうございます^^ エクセルブックを閉じることはできました あとは、シートの削除なんですが・・・ なにかありませんかね^^
- papayuka
- ベストアンサー率45% (1388/3066)
こんにちは。 Application.DisplayAlerts = False '処理 Application.DisplayAlerts = True のようにします。 処理が終わったら必ずTrueに戻しましょう。
お礼
回答ありがとうございます^^
お礼
いえ、十分ですありがとうございます なぞが解けました^^