我正在运行一些If和For循环。当代码第一次退出IF时,起始变量 a 值 = 3 和 i = 3 a 等于5。 当 i = 4 且宏再次运行IF a 取初始值 a = 3 。我希望在最后 a 值之后继续增加1。
例如,如果首先在 i = 3 之后,如果在 a = 5 处停止,则在下一个For,当 i = 4 ,我想要一个起始值 a = 6(a = 5 +1)。
然后例如当 i = 5 时,如果前一个IF停在 a = 15 上,我想要一个起始值a = 16。有人可以帮忙吗?
...
For i = 3 To 10
...
If Sheets("Migrazioni").Cells(i, 5) < 125 Then
a = 3
For b = Sheets("Migrazioni").Range("N" & i).Value To y
With Sheets("Report KIT")
If (.Cells(b, 4).Value2 = "ATTIVO") And (.Cells(b, 6).Value2 >= 130) Then
.Cells(b, 7).Copy
Sheets("KIT").Cells(a, 1).PasteSpecial xlPasteValues
Sheets("Migrazioni").Cells(i, 4).Copy
Sheets("KIT").Cells(a, 2).PasteSpecial xlPasteValues
a = a + 1
End If
'b = b + 1
End With
Next b
End If
...
Next i
End Sub
答案 0 :(得分:0)
将a = 3移到上面对于i = 3到10,如下面的代码
...
a = 3
For i = 3 To 10
...
If Sheets("Migrazioni").Cells(i, 5) < 125 Then
For b = Sheets("Migrazioni").Range("N" & i).Value To y
With Sheets("Report KIT")
If (.Cells(b, 4).Value2 = "ATTIVO") And (.Cells(b, 6).Value2 >= 130) Then
.Cells(b, 7).Copy
Sheets("KIT").Cells(a, 1).PasteSpecial xlPasteValues
Sheets("Migrazioni").Cells(i, 4).Copy
Sheets("KIT").Cells(a, 2).PasteSpecial xlPasteValues
a = a + 1
End If
'b = b + 1
End With
Next b
End If
...
Next i
End Sub