python3
1wb = openpyxl.load_workbook(excelname) 2sheet1 = wb[sheet_name1] 3sheet2 = wb[sheet_name2] 4sheet3 = wb[sheet_name3] 5sheet4 = wb[sheet_name4] 6 7ss1 = [sheet1, sheet4] 8ss2 = [sheet2, sheet3] 9 10hiddenlist1 = ['F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U'] 11hiddenlist2 = ['G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U'] 12 13#sheet1のみだったら 14for col1 in hiddenlist1: 15 sheet1.column_dimensions[col1].hidden = True 16 17wb.save(excelname)
sheet1,sheet4はhiddenlist1の列を非表示にする。
sheet2,sheet3はhiddenlist2の列を非表示にしたいのですが、
うまくfor文をまとめることができず困っております。
初心者な質問で申し訳ございませんがご教授いただけると助かります。
よろしくお願いいたします。
#追記
python
1if __name__ == '__main__': 2 wb = openpyxl.load_workbook(excelname) 3 ss1 = [sheet1, sheet4] 4 ss2 = [sheet2, sheet3] 5 ss_all = [sheet1, sheet2, sheet3, sheet4] 6 7 hiddenlist1 = ['F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U'] 8 hiddenlist2 = ['G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U'] 9 10 for ws in ss_all: 11 if ws in ss1: 12 for col in hiddenlist1: 13 ws.column_dimensions[col].hidden = True 14 pass 15 16 elif ws in ss2: 17 for col in hiddenlist2: 18 ws.column_dimensions[col].hidden = True 19 pass 20 21wb.save(excelname) 22
上記のように書いてみました、
エラーは出ておりませんが一つのシートも列が非表示になりませんでした。
追記2
sheet1などの変数に関しましては下記のようになっています。
AAAはエクセルのシート名です。shhe2なども同様に全て定義しています。
python
1sheet_name1 = 'AAA' 2sheet1 = wb[sheet_name1]
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/22 12:20