VBAでアクティブシート以外を削除する

ロゴ



The following two tabs change content below.
アバター

taka

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

どうも、taka(@takabou63)です(^^♪

ExcelVBAでシステムを作っていてアクティブシート以外消してしまいたい時ってありませんか?

・・・ないかもしれませんね(笑)

まぁ使用場面は限定されるかもしれませんが意外と覚えておくと便利だと思います(笑)

VBAでアクティブシート以外を削除するには

アクティブシート以外のシートを削除するには

  1. アクティブシートの名前を取得する
  2. 現存シートとアクティブシートの名前を比較して同じ名前でなければ現存シートを削除する

この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フォロー

■YouTubeチャンネル登録

ファイルやコードの利用、WEBサイトの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。

Sponsored Link

 

WordPressでブログを始めるなら

WordPress簡単インストール&安心の安定性

レンタルサーバー Xserver

ロゴ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です