回答編集履歴
2
    
        answer	
    CHANGED
    
    | @@ -1,7 +1,40 @@ | |
| 1 1 | 
             
            `for b in range(4,Sheet_Max2,1):`の4がどこから来たか分かりませんが…
         | 
| 2 2 |  | 
| 3 | 
            -
            4が初期値であれば、forの一番外側で、`int_var =  | 
| 3 | 
            +
            4が初期値であれば、forの一番外側で、`int_var = 3`として置いて、for文で4から増やしたいたびに`int_var+=1`とすれば、4の部分が都度増えていきます。
         | 
| 4 | 
            -
             | 
| 5 4 | 
             
            `for b in range(int_var,Sheet_Max2,1):`
         | 
| 5 | 
            +
            という形で試してください。
         | 
| 6 6 |  | 
| 7 | 
            +
            3で初期化して、forの度に1足したらforの初期値は4になりますね。
         | 
| 8 | 
            +
             | 
| 9 | 
            +
             | 
| 10 | 
            +
             | 
| 11 | 
            +
             | 
| 12 | 
            +
            ```Python3
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            int_var = 3 # <---- 追加 
         | 
| 15 | 
            +
             | 
| 16 | 
            +
             | 
| 7 | 
            -
             | 
| 17 | 
            +
            #コピー先ファイル一つずつ開く
         | 
| 18 | 
            +
            for key, value in so_dict2.items():
         | 
| 19 | 
            +
                for v in value:
         | 
| 20 | 
            +
                    wb = openpyxl.load_workbook(f'C:\テスト用\個別表2\{key}\{v}.xlsx')
         | 
| 21 | 
            +
                    ws = wb[sheet_name]#コピー先シート取得
         | 
| 22 | 
            +
                    Sheet_Max2 = ws1.max_row#シートの最終行を取得する コピー元シート
         | 
| 23 | 
            +
             #コピー元ファイルの列行を取得する
         | 
| 24 | 
            +
             | 
| 25 | 
            +
             | 
| 26 | 
            +
                    int_var+=1 # <---- 追加
         | 
| 27 | 
            +
                    # for b in range(4,Sheet_Max2,1):
         | 
| 28 | 
            +
                    for b in range(int_var ,Sheet_Max2,1): # <---- 修正
         | 
| 29 | 
            +
                        if ws1.cell(row=b, column=3).value is None:
         | 
| 30 | 
            +
                            break
         | 
| 31 | 
            +
                        Sheet_Max1 = ws.max_row#シート最終行を取得 コピー先シート
         | 
| 32 | 
            +
                        for a in range(Sheet_Max1, 0, -1):
         | 
| 33 | 
            +
                            if ws.cell(row=a, column=2).value is not None:
         | 
| 34 | 
            +
                                ws.cell(row=a+1,column=2).value = ('料金')
         | 
| 35 | 
            +
                                kensin = ws1.cell(row=b,column=3).value#セルコピー
         | 
| 36 | 
            +
                                ws.cell(row=a+1,column=3,value=kensin)#セル貼付け
         | 
| 37 | 
            +
                                break
         | 
| 38 | 
            +
                    wb.save(f'C:\テスト用\個別表2\{key}\{v}.xlsx')#上書き保存
         | 
| 39 | 
            +
             | 
| 40 | 
            +
            ```
         | 
1
    
        answer	
    CHANGED
    
    | @@ -1,6 +1,4 @@ | |
| 1 | 
            -
            for b in range(4,Sheet_Max2,1):`
         | 
| 1 | 
            +
            `for b in range(4,Sheet_Max2,1):`の4がどこから来たか分かりませんが…
         | 
| 2 | 
            -
            ```
         | 
| 3 | 
            -
            の4がどこから来たか分かりませんが…
         | 
| 4 2 |  | 
| 5 3 | 
             
            4が初期値であれば、forの一番外側で、`int_var = 4`として置いて、for文で4から増やしたいたびに`int_var+=1`とすれば、4の部分が都度増えていきます。
         | 
| 6 4 |  | 
