- ベストアンサー
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
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
特に問題なく動作しますよ。 ちゃんと複数選択してますか。
お礼
ありがとうございます。 問題解決しませんが、おかげさまでコードの問題ではないことに気付かせていただきました。 コードはアドインにしてツールバーから起動しています。 組み込み方に問題があるのだと思いますので、この質問は一旦締め切らせていただきます。
補足
特定のワークシートは削除したくないので、 For Each ~ Next ループの中で、シート名を判断して削除する・しないを実行します。 ですので、 ActiveWindow.SelectedSheets.Delete は使えません。