【Python】エクセルシートを移動する:openpyxlの基本テクニック

Python_Excelのシート移動_アイキャッチ Python

Pythonで、エクセルシートを移動するコードをご紹介します。

[move_sheet] を使用して、ワークシートの移動を実行します。

ぜひ、お試しください。

エクセルシート移動(特定シート)

以下のコードを実行すると、特定のシートを1つ左に移動します。


import openpyxl

wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb['Sheet2']

wb.move_sheet(ws,offset=-1)

#別名で保存
wb.save('C:/Users/xxx/Desktop/test/testシート移動.xlsx')

 

コード実行後

Excelシート内の特定シートの位置を移動します。

[ws = wb[‘Sheet2’]] にて、対象シートを指定します。


 
 

エクセルシート移動(先頭を移動)

以下のコードを実行すると、先頭にあるシートを右側へ移動します。


import openpyxl

wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb.worksheets[0]

wb.move_sheet(ws,offset=2)

#別名で保存
wb.save('C:/Users/xxx/Desktop/test/testシート移動.xlsx')

 

コード実行後

Excelシート内の先頭にあるシートを2つ右へ移動します。

[ws = wb.worksheets[0]] は、一番左端のシートを指定します。


 
 

エクセルシート移動(末尾を移動)

以下のコードを実行すると、末尾にあるシートを左側へ移動します。


import openpyxl

wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb.worksheets[-1]

wb.move_sheet(ws,offset=-3)

#別名で保存
wb.save('C:/Users/xxx/Desktop/test/testシート名変更.xlsx')

 

コード実行後

Excelシート内の末尾にあるシート位置を3つ左へ移動します。

[ws = wb.worksheets[-1]] は、一番右端のシートを指定します。


 
 

エクセルシート移動(先頭へ移動)

以下のコードを実行すると、特定文字を含むシートを先頭へ移動します。


import openpyxl

wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
i = 0

#ファイル内の全てのシートをループ
for ws in wb.worksheets:
    i = i + 1
    if 'まとめ' in ws.title:

        #先頭までの移動シート枚数
        Top_Sheet = i - 1
        #シート移動
        wb.move_sheet(ws,offset=-Top_Sheet)

#別名で保存
wb.save('C:/Users/xxx/Desktop/test/testシート移動.xlsx')

 

コード実行後

Excelシート内で「まとめ」を含むシートを一番左(先頭)に移動します。

シートが全部でいくつあるかわからない場合や、

対象シートの位置が分からない場合でも動作します。


 
 

エクセルシート移動(末尾へ移動)

以下のコードを実行すると、指定シートを末尾へ移動します。


import openpyxl

wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb['Sheet2']
i = 0

#ファイル内の全てのシートをループ
for my_ws in wb.worksheets:
    i = i + 1
    if my_ws == ws:
        #対象シートの位置取得
        Target_Sheet = i
    else:
        continue

#シート移動
wb.move_sheet(ws,offset= i - Target_Sheet)

#別名で保存
wb.save('C:/Users/xxx/Desktop/test/testシート移動.xlsx')

 

コード実行後

Excelシート内の特定シートを一番右(末尾)に移動します。

シートが全部でいくつあるかわからない場合や、

対象シートの位置が分からない場合でも動作します。


 
 

参考になりましたら、幸いです。
 

【Python】エクセル処理を自動化:超便利41選
...