• ベストアンサー

エクセルVBAについて

今、エクセルVBAでマクロの作成を行っています マクロの中で、作業用に別なエクセルとシートを作成したのですが マクロの最後でその作業用のエクセルとシートを削除する用にしました。 その際に、エクセルがメッセージボックスが開き 『このエクセルブックを閉じますか』や『このシートを削除してよろしいですか』などと聞いてきます。 このボックスを出さないように強制的に消すことは出来ないのでしょうか? 出来るのであれば、やり方を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • vbafriend
  • ベストアンサー率47% (17/36)
回答No.4

初めまして。サンプルマクロを組んでみました。参考にしてみて下さい。 Sub Test Application.DisplayAlerts = False workbooks("作業用に用意したブック名.xls").close SaveChanges:=FAlse workbooks("削除したいシートがあるブック名.xls").worksheets("削除したいシート名").delete Application.DisplayAlerts = True End Sub これで、メッセージを出さずにブックも保存せず終了できますし、シートも削除されると思います。お試しになってみて下さい。 もし、何かございましたらご遠慮なく補足要求をして下さい。

semujyu
質問者

お礼

いえ、十分ですありがとうございます なぞが解けました^^

その他の回答 (3)

  • ruburubu
  • ベストアンサー率48% (15/31)
回答No.3

シートの削除については、No.1の方のやり方で良いようです。 ヘルプより 次の使用例は、確認のダイアログ ボックスを表示しないで、作業中のブックのシート 3 を削除します。 Application.DisplayAlerts = False Worksheets("Sheet3").Delete Application.DisplayAlerts = True

semujyu
質問者

お礼

ありがとうございます そういうことだったんですね^^

  • ruburubu
  • ベストアンサー率48% (15/31)
回答No.2

Closeメソッドで、SaveChanges = Trueにすれば良いのでは。 新規ブックを開いて、適当に書き込みしたあと、閉じる例 Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2002/11/22 ユーザー名 : ' ' Workbooks.Add ActiveCell.FormulaR1C1 = "aaa" ActiveWindow.Close (SaveChanges = True) End Sub

semujyu
質問者

お礼

ありがとうございます^^ エクセルブックを閉じることはできました あとは、シートの削除なんですが・・・ なにかありませんかね^^

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

こんにちは。 Application.DisplayAlerts = False '処理 Application.DisplayAlerts = True のようにします。 処理が終わったら必ずTrueに戻しましょう。

semujyu
質問者

お礼

回答ありがとうございます^^