我正在尝试将两个for-next循环网络化。
For j = 2 To rownum 'rownum=502
For k = 3 To 7 Step 1 'ref_row step 1
Workbooks(tdrname).Worksheets("CatSh").range("D" & CStr(j + 1)) _
= j 'Workbooks(tdrname).Worksheets("Transaction in Specified Period").range("P" & j).Value
Workbooks(tdrname).Worksheets("CatSh").range("E" & CStr(j + 1)) _
= k 'Workbooks(tdrname).Worksheets("CatSh").range("B" & k).Value
Next k
Next j
我在" CatSh" Sheet,是一个循环数字J跟随相同的数字,这是k的最后一个数字。
任何人都知道发生了什么事?
答案 0 :(得分:0)
在决定要写入的行时,您需要考虑j
AND k
。
这可能会低于您想要的偏移,因此您需要调整它,但如果您希望按顺序编写的每个项目没有间隙,则以下内容应该有效:
For j = 2 To rownum 'rownum = 502
For k = 3 To 7 Step 1 'ref_row step 1
Workbooks(tdrname).Worksheets("CatSh").Range("D" & CStr((j * (7 - 3 + 1)) + k)) _
= j 'Workbooks(tdrname).Worksheets("Transaction in Specified Period").range("P" & j).Value
Workbooks(tdrname).Worksheets("CatSh").Range("E" & CStr((j * (7 - 3 + 1)) + k)) _
= k 'Workbooks(tdrname).Worksheets("CatSh").range("B" & k).Value
Next k
Next j
注意,如果您更改循环定义的7 - 3
部分,CStr((j * (7 - 3 + 1)) + k))
中的For k = 3 To 7 Step 1
也需要进行调整。