• ベストアンサー

マクロでシートを削除する際、メッセージを省略したい

質問です。例えば、マクロで ActiveWindow.SelectedSheets.Delete とする時、シートを削除するかどうか、必ずメッセージが出ますよね。 これを省略し、連続でシートを消すようなマクロを組みたいのですが、 何か良い方法がありますでしょうか? それとも、データの喪失の危険があるため不可能なのでしょうか。 ご存じの方、ご教授宜しくお願いします。

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

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

実行前に Application.DisplayAlerts = False 実行後に True に戻してください。

YNi2B2C
質問者

お礼

早速確認してみて、上手く行きました。 ありがとうございましたm(__)m。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルのマクロでのシートの削除について

    エクセルのマクロについて エクセル97でファイルを閉じる前にシートを一つ削除するマクロを流そうとしているのですが、 マクロが流れるとシートを削除するかどうかの確認のダイアログが表示されてしまいます。 この確認のメッセージなしでマクロでシートを削除することは出来ないのでしょうか? ----------------- 実際のプログラム ------------------ Sheets(シート名).Select ActiveWindow.SelectedSheets.Delete わかる方がおられましたら宜しくお願い致します。

  • EXCEL VBAでシートを削除したい

    こんにちは。EXCEL VBAのことで質問させていただきます。 マクロでシートを削除しようと思い、 下記のように記述しました。 Sheets(1).Select ActiveWindow.SelectedSheets.Delete しかし、このように記述すると「選択したシートを削除します。~」のようなメッセージが出てきてしまうため、何度もOKボタンを押さなければなりません。これではマクロで自動実行した意味がなくなってしまいます。 このメッセージを回避する方法はないでしょうか。 宜しくお願い致します。

  • Excelマクロにてシートの削除を行いたいです。

    初めて投稿させて頂きます。 質問内容  Excelのマクロを使用して指定シート以外のシートの削除を行いたいです。 前条件  外部CSVファイルを取込み、データによってシートを追加して振り分けています。  再度マクロを実行した場合特定のシートを残し(フォーマット等)、他のシートを削除してからデータの振り分けを実施する予定です。 やってみた事  下記の様に書いて実施してみたのですがエラーとなってしまいます。 Sub Clear()   Application.DisplayAlerts = False   For I = 1 To Worksheets.Count     If (Worksheets(I).Name <> "sheet") Then       Sheets(Worksheets(I).Name).Select       ActiveWindow.SelectedSheets.Delete     End If   Next I   Application.DisplayAlerts = True End Sub 上記の書き方だと1シート毎削除なので、選択したシートを一括で削除出来るとうれしいです。 どなたかご存知の方お願いします。

  • エクセルVBA、MsgBOXで入力した2つのシート番号で挟まれたシートをすべて消去したい。

    マクロ自動記録で複数シートのDeleteを試してみると、   Sheets(Array("Sh20", "Sh19", "Sh18")).Select   Sheets("Sh18").Activate   ActiveWindow.SelectedSheets.Delete となって、シート名を個別に指定する必要が出てくる。 シートの左から18枚目から20枚目とか、15枚目から40枚目とか MsgBOXで入力した2つの数字で指示したいのですが、良い方法はありませんか? ちなみに、MsgBoxでA=15,B=40を入力して、   mysh = A   For Sh=1 to B-A+1   Sheets(Array(mysh)).Select   ActiveWindow.SelectedSheets.Delete   next とやったら、シート1枚消すごとに、 「データがあります。消してよいですか?」のメッセージが出てきて、 作業が面倒です。 一括して消す方法がないでしょうか?

  • 「シートを削除しますか」のメッセージを表示させないマクロ

    マクロで、シートをコピーし、コピー元のシートを削除したいと思っています。ただ、このとき、「選択したシートにデータが存在する可能性があります。データを削除するには[削除]をクリックしてください」というメッセージが出てしまいます。このメッセージを出ないように設定できないものでしょうか? よろしくお願いいたします。

  • エクセルのマクロで、シートを削除するとき・・・

    エクセルのマクロでシートを削除するとき、 「データが存在する可能性があります。削除しますか?」と確認メッセージが出てきます。そこで、「削除する」というボタンを押さないといけません。 この確認をいちいち出さないで(つまりマクロではその確認は不要。削除するボタンを押す手間を省きたい)、マクロでシート削除をしたいのです。 確認メッセージを出さないでマクロでシート削除する方法を教えてください。お願いします。

  • EXCEL 2000のマクロで質問

    ECXEL 2000のマクロで分からない点があるので 教えてください。 下記のマクロを実行して、シートSheet2,Sheet3を削除したいのですが 実行すると、"選択したシートを削除します。一度削除すると元に戻すことは 出来ません OK キャンセル"とのダイアログが出てきてしまいます。 このダイアログを表示させずに削除を実行させるにはどうすればいいのでしょうか。 ヘルプを参照して調べましたがどうも分かりません。 詳しい方、アドバイスをお願いします。 Sheets(Array("Sheet2", "Sheet3")).Select ActiveWindow.SelectedSheets.Delete

  • VBA2003: 選択された複数シートを削除したい

    複数のワークシートを選択した状態で、次のマクロを動かすと1つのシートしか削除されません。 選択した全てのワークシートを削除したいのですが、コードのどこが間違っているのでしょうか。 Sub TOOL1() Dim objWs As Worksheet Application.DisplayAlerts = False For Each objWs In ActiveWindow.SelectedSheets objWs.Delete Next Application.DisplayAlerts = True End Sub

  • 複数のシートをマクロで印刷

    印刷したい複数のシートをアクティブ状態にして以下のマクロを実行すると、余計に印刷されてしまいます。 Sub Test()  Dim ws As Worksheet  For Each ws In ActiveWindow.SelectedSheets   ActiveWindow.SelectedSheets.PrintOut _   Copies:=1, Collate:=True  Next ws End Sub 例えば、Sheet1とSheet2を選択して実行すると、Sheet1とSheet2が二部ずつ印刷されます。また、Sheet1とSheet2とSheet3を選択して実行すると、それぞれが三部ずつ印刷されます。 それぞれを一部ずつ印刷するためには、マクロをどう直せばいいでしょうか?

  • VBAにて

    お世話になります。 VBAでプログラムを作成しています。 その中で下記の記述にて、エクセルのシートを 削除したい部分があるのですが、Msgboxで、 「選択したシートに、データが存在する可能性があります。  データを完全に削除するには、「削除」をクリックしてください。」 と出るメッセージをVBAの記述により出ない様に したいのですが・・。 その方法を教えてください。 宜しくお願い致します。      記 ActiveWindow.SelectedSheets.Delete

専門家に質問してみよう