我在VBA中有以下代码:
For n = 1 To 15
Cells(n, 8) = Application.Combin(2 * n, n)
next n
我希望cells(n,8)
中的n有一个incerement 2,因此代码会在每次输入后跳过一行。
是否可以在同一个循环中同时跳转2的其他增量变量?
提前致谢!
答案 0 :(得分:1)
为此,需要做的是: 基本上,你希望第一个迭代器是一个普通的计数器, 而第二个迭代器只是奇数。
所以这是一个简单的输入输出表
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