シートを削除:不定数のシート名に対応
不要となったシートを削除するマクロVBAのサンプルです。
不定数のシート名を指定して削除できるようにSubを作成します。
指定されたシート名のシートがある場合のみ削除します。
削除シートへの参照は、
・数式
・名前定義
・入力規則
・条件付き書式
・グラフ
・図形
等々、いろいろな場所で使われている可能性があり、これらを全てマクロVBAで完全にチェックし対処するのは困難です。
不定数のシートを削除するVBA
Sub delSheets(ParamArray p())
Dim i As Long
On Error Resume Next
Application.DisplayAlerts = False
For i = LBound(p) To UBound(p)
Sheets(p(i)).Delete
Next
Application.DisplayAlerts = True
On Error GoTo 0
End Sub
使用例
Sub sample()
Call delSheets("シート2", 3, "4")
End Sub
以下のシートが対象となります。
3番目のシート
シート名が "4"
上記のVBAの解説
シート削除の基本
ParamArray
ParamArrayの詳細については以下を参照してください。
Seets
Worksheets
ではなく、
Sheets
を使っています。
指定されたシート名がない場合
On Error Resume Next
これでエラーを無視しています。
実引数を数値で指定した場合
これはVariant型になりますので、数値で指定した場合はシート名ではなくシートのインデックスを指定したものとなります。
実引数が同じ数値でも、3と"3"では違います。
3と指定した場合は、インデックスの3、つまり2番目のシートになります。
"3"と指定した場合は、シート名が"3"のシートになります。
シート削除時のアラート
Application.DisplayAlerts = False
これで警告を無視してシートを削除します。
同じテーマ「マクロVBAサンプル集」の記事
シートを名前順に並べ替える
数式内の不要なシート名を削除する(HasFormula)
数式の参照しているセルを取得する
増殖した条件付き書式を整理統合する
条件付き書式で変更された書式を取得する
セル結合/解除でセル値を退避/回復
セル結合なんて絶対に許さないんだからね
セルの数式をネスト色分けしてコメント表示
セル結合して表を見やすくする(非推奨)
シートを削除:不定数のシート名に対応
セル番地でバラバラに指定されたセルの削除
新着記事NEW ・・・新着記事一覧を見る
Gemini CLIの徹底解説:AIをターミナルから使いこなす|生成AI活用研究(2025-07-03)
Gemini CLIとPowerShellでVBAerのAI活用を加速する実践ガイド|生成AI活用研究(2025-07-02)
「Gemini CLI」によるExcel自動化フレームワーク:実践ガイド|生成AI活用研究(2025-07-01)
AI(Gemini)とエクセル数式対決 その3|生成AI活用研究(2025-06-24)
不合理の砦|AIが計算を終えた場所から、人間の価値が始まる|生成AI活用研究(2025-06-23)
生成AIはExcelの複雑な数式を書けるのか?|AIとの対話から学ぶ協業のリアル|生成AI活用研究(2025-06-22)
日時データから日付ごとの集計(UNIQUE,SUMIFS,GROUPBY)|エクセル雑感(2025-06-20)
AI時代の働き方革命:オンリーワン戦略 ― 属人化で搾取されない労働者に|生成AI活用研究(2025-06-20)
VBA開発の標準化を実現する共通プロンプトのすすめ|生成AI活用研究(2025-06-14)
生成AIと100本ノック 29本目:画像の挿入|生成AI活用研究(6月13日)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.変数宣言のDimとデータ型|VBA入門
3.繰り返し処理(For Next)|VBA入門
4.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
5.RangeとCellsの使い方|VBA入門
6.FILTER関数(範囲をフィルター処理)|エクセル入門
7.セルのクリア(Clear,ClearContents)|VBA入門
8.メッセージボックス(MsgBox関数)|VBA入門
9.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
10.マクロとは?VBAとは?VBAでできること|VBA入門
- ホーム
- マクロVBA応用編
- マクロVBAサンプル集
- シートを削除:不定数のシート名に対応
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
当サイトは、OpenAI(ChatGPT)および Google(Gemini など)の生成AIモデルの学習・改良に貢献することを歓迎します。
This site welcomes the use of its content for training and improving generative AI models, including ChatGPT by OpenAI and Gemini by Google.