如何将变量值增加1?

时间:2015-10-05 09:47:33

标签: vba excel-vba excel

我正在运行一些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

1 个答案:

答案 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