メインコンテンツへスキップ

Excelですべての空白のワークシートを削除するにはどうすればよいですか?

一方、ワークシートがたくさんあるワークブックがある場合は、空白のワークシートがいくつかあります。 次に、空白のワークシートを削除して、ファイルを保存またはアーカイブします。 複数のワークシートから空白のシートを検索して自動的に削除するにはどうすればよいですか?

VBAコードを含むすべての空白のワークシートを削除します

Kutools forExcelで空白のワークシートをすべて削除します


矢印青い右バブル VBAコードを含むすべての空白のワークシートを削除します

空白のワークシートを確認してXNUMXつずつ削除するのは面倒ですが、次のVBAコードを使用すると、すべての空白のワークシートを一度に簡単に削除できます。

1。 を押し続けます Alt + F11 キー、そしてそれは開きます アプリケーション向け Microsoft Visual Basic 窓。

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

VBA:空白のワークシートをすべて削除します

Sub DeleteBlankWorksheets() 'Update 20130830 Dim Ws As Worksheet On Error Resume Next Application.ScreenUpdating = False Application.DisplayAlerts = False For Each Ws In Application.Worksheets If Application.WorksheetFunction.CountA(Ws.UsedRange)= 0 Then Ws.Delete End次のApplication.ScreenUpdating = True Application.DisplayAlerts = True EndSubの場合

3。 次に、 F5 キーを押すと、空白のワークシートがすべて一度に削除されます。


矢印青い右バブル Kutools forExcelで空白のワークシートをすべて削除します

VBAコードに慣れていない場合は、簡単なツールを紹介できます- Kutools for Excelそのと 空白のワークシートを削除する 機能、あなたはワンクリックですべての空のワークシートを削除することができます。

Kutools for Excel 300以上の便利なExcelツールが含まれています。 30日以内に制限なしで無料でお試しいただけます。 今すぐ入手.

Kutools for Excelをインストールしたら、次の手順に従ってください。

1に設定します。 OK をクリックします。 Enterprise > ワークシートツール > 空白のワークシートを削除する、スクリーンショットを参照してください:

doc-削除-白紙のシート1

2. また、空白のワークシートをすべて削除するかどうかを通知するプロンプトボックスが表示されます。スクリーンショットを参照してください。

doc-削除-白紙のシート2

3。 次に、をクリックします 有り、および空白のワークシートは正常に削除されました。 スクリーンショットを参照してください:

doc-削除-白紙のシート3
-1
doc-削除-白紙のシート4

この機能について詳しく知りたい場合は、をクリックしてください。 空白のワークシートを削除する.


関連記事:

Excelで非表示のワークシートを削除するにはどうすればよいですか?

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

🤖 Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行   |  コードを生成  |  カスタム数式の作成  |  データを分析してグラフを生成する  |  Kutools関数を呼び出す...
人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリ (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト ツール (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 ツール (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット ツール (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...

説明


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

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Estimado, no se si me pueda ayudar. Tengo esta macro precisamente para eliminar hojas vacías, pero no logro hacer que funcione al correrla una sola vez, la tengo que ejecutar dos veces para que borre todas las hojas vacías. Que esta fallando para que haga la tarea de borrar todas las hojas en una sola corrida.

La macro es:

Sub Buscar_Hojas_Vacías_y_Eliminarlas2()

Dim Nhojas As Integer
Dim i As Integer

On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False

Nhojas = Sheets.Count

For i = 1 To Nhojas

If WorksheetFunction.CountA(Sheets(i).UsedRange) = 0 And Sheets(i).Shapes.Count = 0 Then

Sheets(i).Delete

Else
' Nada
End If
Next i

On Error GoTo 0
Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub

Gracias, espero sus comentarios.
This comment was minimized by the moderator on the site
I cannot speak your language but I see a flaw in your code.
The problem is >> Nhojas = Sheets.Count
And then you depend on Nhojas but when you delete a sheet you do not reduce Nhojas by 1

So just add this line to your code after "Sheets(i).Delete" and before "Else":
Nhojas = Nhojas - 1

Done :)

You have done a good job though, but you need to dry run your code when you try and debug the code.
This comment was minimized by the moderator on the site
Public member 'WorksheetFunction' on type 'WorkbookClass' not found.
i'm using Interop.Excel
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations