マコト2017/8/312019/4/30ExcelVBAではWorksheet.Deleteを使い、シートを削除できます。警告のアラートメッセージを出さずに削除するシートを指定して削除する方法アクティブでないシートすべてを一括で削除など基本的な内容から応用的な使い方についても解説していきます。これらのシートの削除は、特に一時的な作業用のシートを一括で削除する場合に重宝します。Excelのシートを削除する方法について、是非この記事を参考にしてください。まとめシートの削除とはExcelでのシートの削除は、次の画像のように「シート名のタブを右クリック→削除」とします。削除後の画像ではSheet2が削除されていることが確認できます。ExcelVBAでシートを削除するためには次のようにWorksheetクラスのDeleteメソッドを使います。Worksheetクラスのオブジェクト.Deleteそれでは、次の章から例を交えながら詳しく解説していきます。アクティブなシートを削除する方法アクティブなシートを削除するには、ActiveSheet.Deleteを使います。アクティブなシートを削除する方法を次のサンプルコードで確認してみましょう。画像:実行後サンプルコードを実行すると実行時の画像にあるような警告ウィンドウが表示されます。警告ウィンドウの削除ボタンをクリックすると、アクティブなシートが削除されます。実行後の画像から、アクティブなシートが削除されていることが確認できます。警告のアラートメッセージを出さずに削除する警告が表示されるとシートの削除が一時停止され、手動での操作が必要になります。この挙動は、自動でシートを削除する際に邪魔になってしまいます。そこで、警告を出さずに処理を行うためにApplication.DisplayAlertsを使います。Application.DisplayAlertsを使うには、次のように記述します。False警告を出さないようにしています。True警告を出すように戻しています。Application.DisplayAlertsがFalseである間は、一切の警告が出ないようになります。警告が必要な処理に影響を与えないようにするために、警告が不要な処理が終わったら警告を出すように戻しましょう。それでは、次のサンプルコードで警告を出さずにシート削除する方法を確認してみましょう。画像:実行後このサンプルコードでは警告を出さずにシートを削除しています。そのため、実行前の画像から実行後の画像へとすぐに切り替わります。実行後の画像から、アクティブなシートが削除されていることも確認できます。シートを指定して削除する方法シートを指定して削除する方法には次の2通りの方法があります。インデックス番号を指定して削除する方法インデックス番号を指定してシートを削除するためには、次のように記述します。Worksheets(インデックス番号).Deleteインデックス番号で指定したシートを削除する方法について、次のサンプルコードを確認してみましょう。画像:実行後このサンプルコードでは1番目のシートを削除するためにWorksheets(1).Deleteと記述しています。実行後には1番目のシートが削除されていることが確認できます。シート名を指定して削除する方法シート名を指定してシートを削除するためには、次のように記述します。Worksheets("シート名").Deleteシート名で指定したシートを削除する方法について、次のサンプルコードを確認してみましょう。画像:実行後このサンプルコードではSheet1を削除するためにWorksheets("Sheet1").Deleteと記述しています。実行後にはSheet1が削除されていることが確認できます。複数のシートをまとめて削除したい場合には、Array関数を使って複数のシートを指定する方法が便利です。Array関数の引数にはインデックス番号、もしくはシート名を指定します。画像:実行後このサンプルコードでは、Array関数を使って複数のシート名を指定し、まとめてシートを削除しています。Eachステートメントを使い、次のようにします。Worksheets(1)で先頭に移動しています。Eachステートメントでシート名がアクティブシートの名前と一致しない場合に削除しています。これにより、結果としてアクティブでないシートを一括で削除できます。Eachステートメントの使い方については、こちらで詳しく解説しています。2019年4月23日まとめいかがでしたか?今回はExcelVBAでシートを削除する方法について解説しました。シートを一括で削除する方法は、しばしば作業の効率化に繋がります。ExcelVBAでシートを削除する機会があれば、この記事を思い出してみてください!TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。マコトフリーランスのエンジニアです。最近では、プログラミング関連の記事を作成するライターとしても活動しています。趣味と業務の両方でプログラミング言語をいくつも学んできたのでその経験を活かして分かりやすい記事を作成できればと考えています。