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ブック内の複数シートに一括で名前変更と色指定を行う方法をご紹介しました。
- シート名に接頭辞を追加して管理しやすくする
- 枚数に応じてタブ色を変えることで、視認性をアップ
- 複数ブックにも適用可能な処理です
大量のシートを含むブックの整理に、ぜひご活用ください。