• ベストアンサー

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

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

  • ベストアンサー
  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.1

特に問題なく動作しますよ。 ちゃんと複数選択してますか。

masnoske
質問者

お礼

ありがとうございます。 問題解決しませんが、おかげさまでコードの問題ではないことに気付かせていただきました。 コードはアドインにしてツールバーから起動しています。 組み込み方に問題があるのだと思いますので、この質問は一旦締め切らせていただきます。

masnoske
質問者

補足

特定のワークシートは削除したくないので、 For Each ~ Next ループの中で、シート名を判断して削除する・しないを実行します。 ですので、 ActiveWindow.SelectedSheets.Delete は使えません。

関連するQ&A

専門家に質問してみよう