openpyxlでエクセルの不要なシートを削除する方法。[Pythonとエクセル]

Python

Pythonでエクセルを操作する際に、openpyxlライブラリーを使用している方は多いと思います。

 

特定のシートだけを残して、不要なシートを削除するコード作成でハマりました。

 

どなたかのお役に立てれば幸いです。

 

前提条件

 

○ファイルの保存場所は一定

サンプルファイルの保存場所 ’C:\\Users\\ashio\\workspace\\Template\\openpyxl\\data\\’

サンプルファイル名  ‘サンプル.xlsm’

あえてマクロが含まれているファイル.xlsmにしました。

あなたが使用するファイル拡張子が.xlsxの場合は、忘れずに.xlsxに書き換えて下さい。

 

○残すシート名は「まとめ」

残すシート名は「まとめ」シートのみです。

他の人が勝手にシート名の変更や追加している可能性があるので、全シート名を取得してから削除します。

 

ループでシート名を取得して、「まとめ」以外のシート名を「削除対象」に変更してから、削除しています。

シートの順番が変更されていても、問題なく動きます。

 

サンプルファイル

 

ファイルにはこのように、複数のシートが含まれています。

今回は「まとめ」シートだけを残します。

 

下のサンプルコードを実行して保存されたエクセルファイルはこちら。

「まとめ」シートだけが残っています。

 

サンプルコード内にコメントを記載していますので、ご参照ください。

 

サンプルコード

 

この記事を書いた人

 

あしおゆたか

投資歴21年の個人投資家

机上の理論ではなく、実体験に基づいた記事作りをモットーにしています。

スポーツクラブに毎週2日~3日通い、サウナ後の暴飲暴食が趣味。(現在自粛中)

◇主な投資対象
日本株式
株式ETF(上場投資信託)
日経225先物
日経225先物オプション

◇運営者情報はこちら

ページの先頭へ