Note: The other languages of the website are Google-translated. Back to English

シート名がリストにない場合、シートを削除するにはどうすればよいですか?

たとえば、下のスクリーンショットに示すように、列Aのワークブック内のシート名のリストを含むワークシートがあり、ワークブック内の特定のシート名の一部がリストにない場合、そうでないシートを削除したいとします。列Aのリストにあります。Excelでこのタスクをすばやく簡単に解決するにはどうすればよいですか。

リスト1にないドキュメント削除シート

VBAコードで特定のリストにないシートを削除する


矢印青い右バブル VBAコードで特定のリストにないシートを削除する

通常、シート名をXNUMXつずつ確認し、シート名リストにないものを削除することができます。 しかし、ここでは、それに対処するためのVBAコードについて話すことができます。 次のようにしてください。

1。 シート名リストを含むワークシートに移動し、 Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2。 次に、をクリックします インセット > モジュール、次のコードをに貼り付けます モジュール 窓。

VBAコード:リストにないシートを削除する

Sub Deletenotinlist()
'Updateby Extendoffice
    Dim i As Long
    Dim cnt As Long
    Dim xWb, actWs As Worksheet
    Set actWs = ThisWorkbook.ActiveSheet
    cnt = 0
    Application.DisplayAlerts = False
    For i = Sheets.Count To 1 Step -1
        If Not ThisWorkbook.Sheets(i) Is actWs Then
            xWb = Application.Match(Sheets(i).Name, actWs.Range("A2:A6"), 0)
            If IsError(xWb) Then
                ThisWorkbook.Sheets(i).Delete
                cnt = cnt + 1
            End If
        End If
    Next
    Application.DisplayAlerts = True
    If cnt = 0 Then
        MsgBox "Not find the sheets to be seleted", vbInformation, "Kutools for Excel"
    Else
        MsgBox "Have deleted" & cnt & "worksheets"
    End If
End Sub

注意:上記のコードでは、 A2:A6 はシート名を含むセル参照です。必要に応じて変更できます。

3。 そして、 F5 このコードを実行するためのキー、リストにないシートはすぐに削除されました。スクリーンショットを参照してください。

リスト2にないドキュメント削除シート


最高のオフィス生産性ツール

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。
kteタブ201905

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
コメントを並べ替える
コメント (4)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、


シート名のリストは数字のみですが、このコードは数字だけのすべてのシート名を削除します。つまり、シートを削除する代わりに、「1」、「2」、「3」という名前のシートがあり、リストは1と3のみです。 「2」は、番号が付けられたすべてのシートを削除します。 シート名に文字が含まれている場合、コードは正常に機能します。 誰か助けてもらえますか?
このコメントは、サイトのモデレーターによって最小化されました
シート名にリスト内のテキストが含まれている場合、一致する場合ではなく、それらを削除しないように、これをどのように変更できますか。
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、

このコードは、リストに含まれているシートも含めてすべてのシートを削除しました。

解決策を提案していただけますか?
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、ネラヴァイ
コードは私のワークブックでうまく機能します。問題のスクリーンショットまたはワークブックの添付ファイルをここにアップロードできますか? そのため、問題を確認するのに役立ちます。
ありがとうございました!
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所

フォローする

著作権©の2009 - WWW。extendoffice.com。 | | 全著作権所有。 搭載 ExtendOffice。 | サイトマップ
MicrosoftおよびOfficeのロゴは、米国MicrosoftCorporationの米国およびその他の国における商標または登録商標です。
SectigoSSLで保護