Pythonで複数のExcelシート名とタブ色を一括変更する方法|openpyxlで整理されたブックを作る

Excelブックに多数のシートが存在する場合、それぞれのシート名に接頭辞をつけたり、特定の条件に応じてタブ色を変えたりすることで、ブックの可読性や操作性が大きく向上します。

本記事では、Pythonのopenpyxlを使って、複数シートの名前や色を一括で整理する方法をご紹介いたします。


目次

使用ライブラリ

本処理には、openpyxlライブラリを使用します。未インストールの方は、以下のコマンドで導入してください。

bashコピーする編集するpip install openpyxl

処理の目的

  • すべてのシート名の先頭に "部門_" という接頭辞を追加
  • 10枚ごとに見出しタブの色を変えて視認性を向上
  • 処理後のブックを別ファイル名で保存

サンプルコード:シート名と色の一括整形

pythonコピーする編集するfrom openpyxl import load_workbook

# 対象ブックを読み込み
report_book = load_workbook("部署別集計.xlsx")

# すべてのシートに対して処理
for index, sheet in enumerate(report_book.worksheets):
    # シート名に接頭辞「部門_」を追加
    sheet.title = "部門_" + sheet.title

    # 10枚ごとにタブ色を変更(青系:#0000FF)
    if (index + 1) % 10 == 0:
        sheet.sheet_properties.tabColor = "0000FF"

# 整形後のブックを保存
report_book.save("部署別集計_整理後.xlsx")

処理のポイント

処理内容説明
sheet.titleシート名を変更
sheet.sheet_properties.tabColorタブ(見出し)の色を16進数で指定
enumerate()シートごとに番号を付与しながら繰り返し処理
worksheetsすべてのシート一覧を取得

タブ色の指定例(RGB値)

色名16進数コード
0000FF
FF0000
00FF00
オレンジFFA500
グレー808080

応用:3枚ごとに色を変える例

pythonコピーする編集するcolors = ["FF0000", "00FF00", "0000FF"]
sheet.sheet_properties.tabColor = colors[index % 3]

まとめ

本記事では、Pythonとopenpyxlを活用して、Excelブック内の複数シートに一括で名前変更と色指定を行う方法をご紹介しました。

  • シート名に接頭辞を追加して管理しやすくする
  • 枚数に応じてタブ色を変えることで、視認性をアップ
  • 複数ブックにも適用可能な処理です

大量のシートを含むブックの整理に、ぜひご活用ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次