python
1import openpyxl 2 3#エクセルファイルを開く4wb = openpyxl.load_workbook('MH21-9315-0_発注(明細表)_20230116133629.xlsx')5 6#開いたファイルのシートを変数格納7ws1 = wb['Sheet1']8ws2 = wb['Sheet2']9 10#コピーしたい行番号11mylist = [1]12 13#貼り付け開始行14i = 115 16#貼り付け開始列17j = 118 19#配列ループ20for list in mylist:21 #行をループ22 for row in ws1.iter_rows():23 #セルをループ24 for cell in row:25 #配列の数値と同じ行番号だったら26 if cell.row == list:27 #行をコピー28 ws2.cell(row=i, column=j).value = cell.value 29 j = j + 130 j = 131 32#転記開始行33j = 234 35#検索する文字指定36MyValue = ['東北三吉工業株式会社','堀精工株式会社']37 38#配列ループ39for list in MyValue:40 41 #セルをループ42 for row in ws1.iter_rows():43 for cell in row:44 45 #9列目だったら46 if cell.col_idx == 9:47 48 #セルに指定文字が含まれていたら49 if list in cell.value:50 51 #ws1 A~Y列ループ52 for i in range(1,25):53 54 #ws1の該当行をコピー55 copy = ws1.cell(row = cell.row, column = i).value 56 57 #ws2へ転記58 ws2.cell(row = j, column = i, value = copy)59 60 #ws2の転記行を更新61 j += 162 63# 列の幅をそろえる64for col in ws2.columns:65 max_length = 066 column = col[0].column_letter 67 68 for cell in col:69 if len(str(cell.value)) > max_length:70 max_length = len(str(cell.value))71 72 adjusted_width = (max_length + 2) * 1.273 ws2.column_dimensions[column].width = adjusted_width 74 75#別名で保存76wb.save('MH21-9315-0_発注.xlsx')
下記のコードはエラーがでません。
python
1import openpyxl 2 3#エクセルファイルを開く4wb = openpyxl.load_workbook('MH21-9354-0_発注(明細表)_20220815133104.xlsx')5 6#開いたファイルのシートを変数格納7ws1 = wb['購買記録']8ws2 = wb['Sheet1']9 10#コピーしたい行番号11mylist = [1]12 13#貼り付け開始行14i = 115 16#貼り付け開始列17j = 118 19#配列ループ20for list in mylist:21 #行をループ22 for row in ws1.iter_rows():23 #セルをループ24 for cell in row:25 #配列の数値と同じ行番号だったら26 if cell.row == list:27 #行をコピー28 ws2.cell(row=i, column=j).value = cell.value 29 j = j + 130 j = 131 32#転記開始行33j = 234 35#検索する文字指定36MyValue = ['株式会社ツバコー・ケー・アイ湘南営業所','株式会社カントー厚木営業所']37 38#配列ループ39for list in MyValue:40 41 #セルをループ42 for row in ws1.iter_rows():43 for cell in row:44 45 #9列目だったら46 if cell.col_idx == 9:47 48 #セルに指定文字が含まれていたら49 if list in cell.value:50 51 #ws1 A~AA列ループ52 for i in range(1,27):53 54 #ws1の該当行をコピー55 copy = ws1.cell(row = cell.row, column = i).value 56 57 #ws2へ転記58 ws2.cell(row = j, column = i, value = copy)59 60 #ws2の転記行を更新61 j += 162 63# 列の幅をそろえる64for col in ws2.columns:65 max_length = 066 column = col[0].column_letter 67 68 for cell in col:69 if len(str(cell.value)) > max_length:70 max_length = len(str(cell.value))71 72 adjusted_width = (max_length + 2) * 1.273 ws2.column_dimensions[column].width = adjusted_width 74 75#別名で保存76wb.save('MH21-9354-0_発注.xlsx')

0 コメント