vba中有多个for循环变量?

时间:2015-02-15 12:54:26

标签: vba excel-vba excel

我在VBA中有以下代码:

For n = 1 To 15

Cells(n, 8) = Application.Combin(2 * n, n)

next n

我希望cells(n,8)中的n有一个incerement 2,因此代码会在每次输入后跳过一行。

是否可以在同一个循环中同时跳转2的其他增量变量?

提前致谢!

1 个答案:

答案 0 :(得分:1)

编辑:阅读评论后:我认为需要的是一个计数器,1,2,3,4,5,6 ...... 15,另一个计数1,3,5,7。 ..15

为此,需要做的是: 基本上,你希望第一个迭代器是一个普通的计数器, 而第二个迭代器只是奇数。

所以这是一个简单的输入输出表

input           output
-----           -----
1                1
2                3
3                5
4                7
5                9
6                11

从上面我们可以推导出将输入转换为所需输出所需的公式:output = (input x 2) -1

因此,我们可以重新编写for循环:

For n=1 to 15
    Cells(n,8) = Application.Combin(2*n-1,n)
Next

=============编辑结束=========================

简单地说,在for循环中使用关键字STEP

For n = 1 To 15 STEP 2   'STEP can also be negative
                         'but you have to reverse the starting, and endin
                         'value of the iterator

n的值为:1, 3, 5, 7, 9, 11 , 13, 15

或者,为此目的在for循环中使用局部变量(如果你希望循环执行15次)

For n=1 to 15
    i = n + 1
    Cells(i,8) = Application.Combine(2*n,n)
Next