回答編集履歴

2

2021/10/10 03:51

投稿

退会済みユーザー
test CHANGED
@@ -2,12 +2,78 @@
2
2
 
3
3
 
4
4
 
5
- 4が初期値であれば、forの一番外側で、`int_var = 4`として置いて、for文で4から増やしたいたびに`int_var+=1`とすれば、4の部分が都度増えていきます。
5
+ 4が初期値であれば、forの一番外側で、`int_var = 3`として置いて、for文で4から増やしたいたびに`int_var+=1`とすれば、4の部分が都度増えていきます。
6
+
7
+ `for b in range(int_var,Sheet_Max2,1):`
8
+
9
+ という形で試してください。
6
10
 
7
11
 
8
12
 
9
- `for b in range(int_var,Sheet_Max2,1):`
13
+ 3で初期化して、forの度に1足したらforの初期値は4になりますね。
10
14
 
11
15
 
12
16
 
17
+
18
+
19
+
20
+
21
+
22
+
23
+ ```Python3
24
+
25
+
26
+
27
+ int_var = 3 # <---- 追加
28
+
29
+
30
+
31
+
32
+
13
- という形で試してださい。
33
+ #コピー先ファイル一つずつ開
34
+
35
+ for key, value in so_dict2.items():
36
+
37
+ for v in value:
38
+
39
+ wb = openpyxl.load_workbook(f'C:\テスト用\個別表2\{key}\{v}.xlsx')
40
+
41
+ ws = wb[sheet_name]#コピー先シート取得
42
+
43
+ Sheet_Max2 = ws1.max_row#シートの最終行を取得する コピー元シート
44
+
45
+ #コピー元ファイルの列行を取得する
46
+
47
+
48
+
49
+
50
+
51
+ int_var+=1 # <---- 追加
52
+
53
+ # for b in range(4,Sheet_Max2,1):
54
+
55
+ for b in range(int_var ,Sheet_Max2,1): # <---- 修正
56
+
57
+ if ws1.cell(row=b, column=3).value is None:
58
+
59
+ break
60
+
61
+ Sheet_Max1 = ws.max_row#シート最終行を取得 コピー先シート
62
+
63
+ for a in range(Sheet_Max1, 0, -1):
64
+
65
+ if ws.cell(row=a, column=2).value is not None:
66
+
67
+ ws.cell(row=a+1,column=2).value = ('料金')
68
+
69
+ kensin = ws1.cell(row=b,column=3).value#セルコピー
70
+
71
+ ws.cell(row=a+1,column=3,value=kensin)#セル貼付け
72
+
73
+ break
74
+
75
+ wb.save(f'C:\テスト用\個別表2\{key}\{v}.xlsx')#上書き保存
76
+
77
+
78
+
79
+ ```

1

2021/10/10 03:51

投稿

退会済みユーザー
test CHANGED
@@ -1,8 +1,4 @@
1
- for b in range(4,Sheet_Max2,1):`
1
+ `for b in range(4,Sheet_Max2,1):`の4がどこから来たか分かりませんが…
2
-
3
- ```
4
-
5
- の4がどこから来たか分かりませんが…
6
2
 
7
3
 
8
4