The following two tabs change content below.




taka
あることがキッカケでVBAを独学で勉強しました、今ではブログを通してVBAでできることを解説しつつ、VBAや他の言語の勉強、ブログ運営の勉強をしています(^^♪



最新記事 by taka (全て見る)
- 『雑記』最近の私の話~ - 2019年9月26日
- 【動画】自作パソコン構成変更!ケースをNZXT H500に交換しました! - 2019年6月5日
- VBA 『Array関数』指定した要素で配列を作成する - 2019年5月23日
- 「動画」初完全ワイヤレスイヤホン『Jabra Elite Active 65t』 - 2019年5月17日
- VBA 日付で令和を簡単に判定してみよう - 2019年5月7日
どうも、taka(@takabou63)です(^^♪
ExcelVBAでシステムを作っていてアクティブシート以外消してしまいたい時ってありませんか?
・・・ないかもしれませんね(笑)
まぁ使用場面は限定されるかもしれませんが意外と覚えておくと便利だと思います(笑)
VBAでアクティブシート以外を削除するには
アクティブシート以外のシートを削除するには
- アクティブシートの名前を取得する
- 現存シートとアクティブシートの名前を比較して同じ名前でなければ現存シートを削除する
この2つをプログラムにして書いていきます!
アクティブシート以外を削除するサンプルコード
今回のサンプルコードでは「警告の非表示」や「For Eachステートメント」を使っています。
上記の二つについてはそれぞれの記事を参照にしてください(^.^)
Sub Sample() Dim mySht As Worksheet With Application '警告/確認のメッセージを非表示 .DisplayAlerts = False 'シート名をチェックして、アクティブシートでなければ削除 For Each mySht In Worksheets If mySht.Name <> ActiveSheet.Name Then mySht.Delete End If Next '警告/確認のメッセージの設定を元に戻す .DisplayAlerts = True End With End Sub
フォロー・チャンネル登録お願いします
VBA以外についてのブログはこちら↓
https://yb-log.com/■Twitterフォロー
Follow @taka_pc1027■YouTubeチャンネル登録
コメントを残す