[簡単4行]全シートのアクティブセルをA1に変更[openpyxl]

スポンサードリンク
アイキャッチ Python
過去の自分
過去の自分

エクセルファイルの体裁を整えるために、
全シートのアクティブセルをA1にしたい…。

openpyxlの編集ついでにできる方法は無いの?

今の自分
今の自分

簡単にできる方法をご紹介いたします!
アクティブセルの位置が違うだけで、
体裁が全然違いますもんね!

openpyxlで全シートのアクティブセルをA1に変更する方法を、
Python歴3年の私ができるだけわかりやすく解説し、解決に導きます。

スポンサードリンク

openpyxlで全シートのアクティブセルをA1に変更するには

実行見本

実行見本

全コード

ひとまず全コードを網羅します。解説は後ほど行います。

import openpyxl

wb = openpyxl.load_workbook('input.xlsx')

for ws in wb:
    ws.sheet_view.selection[0].activeCellId = None
    ws.sheet_view.selection[0].sqref = 'A1'

wb.save('input.xlsx')
for ws in wb:
    ws.sheet_view.selection[0].activeCellId = None
    ws.sheet_view.selection[0].sqref = 'A1'

事前準備

  • openpyxlのインストール

既存のエクセルファイルを編集するには「openpyxl」のインストールが必要です。

openpyxlのインストール方法

openpyxlを初めて使用する場合は、下記コードを入力・実行して、インストールしてください。

pip install openpyxl

※openpyxlを使用したことがある場合は、このインストール作業は不要です。

openpyxlの基礎解説

既存ファイルを開いて保存する方法などの操作の基本解説は、下記記事で行っております。
ご参考ください。

解説

※わかりやすさを重視しております。厳密には解釈が異なる場合がありますことをご了承ください。

for ws in wb:
    ws.sheet_view.selection[0].activeCellId = None
    ws.sheet_view.selection[0].sqref = 'A1'

上記を記述することで、全シートのアクティブセルをA1に変更することができます。

【1行目】
「wb」はワークブックが入った変数です。
「wb」の中から、1つ目のシート(Sheet1)を変数「ws」に入れます。

【2行目・3行目】
ws(Sheet1)のアクティブセルをA1に設定します。

wbの中のシートが無くなるまでこれを繰り返します。
(シートが10枚あっても、100枚あっても大丈夫です)
最終的には、全シートのアクティブセルをA1に変更できるというわけです。

スポンサードリンク

うまく動作しない時

エラーが出る

No such file or directory: ○○

これは、読み込むファイルやフォルダが見つからないというエラーです。
読み込むファイルのファイル名と構文のファイル名が一致しているか確認しましょう。

詳しい解説は、下記記事をご参考ください。

Permission denied: ○○

操作しようとしているファイルにアクセスできないというエラーです。
ファイルを開いている状態なので編集できない」と言っていることが多いので、開いていれば閉じて再度トライしましょう。

詳しい解説は、下記記事をご参考ください。

○○ is not defined

今まで出てきていない変数などを処理しようとした時に出るエラーです。
変数名などが間違っていないかチェックしましょう。

詳しい解説は、下記記事をご参考ください。

その他のエラー

その他のエラーが出た場合は、エラー文をコピーしてNETで検索してみましょう。

スポンサードリンク

最後に

openpyxlで全シートのアクティブセルをA1に変更する方法を解説いたしました。

ほんの少しのことですが、体裁が全然違いますので、ぜひご活用ください。

当ブログでは、Pythonに関する情報を配信しております。
この記事がわかりやすいと感じた方は、他の記事も読んでいってください。

最後までお読みいただき、ありがとうございました。がんばってください!

タイトルとURLをコピーしました