EXCEL-VBA用循环更改范围

Set rng = Worksheets("Sheet1").Range("B2") 

我有上面的,想运行一个循环,改变我使用/评估的范围。 我尝试了以下的变化。

 for x = 2 to 10 Set rng = Worksheets("No-Funding").Range(x & "2") Next X 

我已经做了一些调查,发现这个其他堆栈溢出: Excel VBA循环公式来改变范围虽然我不能在这种情况下它的意义。

我的代码不会工作,如果它使用单元格,我已经尝试过,只能使它与范围。 感谢您提供的任何帮助!

对于严格的数字增量尝试,

 Set rng = Worksheets("No-Funding").Cells(x, 2) 

通过分解ASCII字符可以实现xlA1样式的引用。

 Set rng = Worksheets("No-Funding").Range(Chr(64 + x) & 2) 

尝试这个:

 For x = 2 To 10 Set rng = Worksheets("No-Funding").Cells(2, x) Next x 

据我所知,如果你使用函数.Range或者.Cells ,那么不pipe是VBA,因为它们都返回对象或者Rangetypes。

使用

 Set rng = Worksheets("Sheet1").Range("B2").Offset(0,x) 

移动到不同的列。 更好

 Dim values as Variant, rng as Range Set rng = Worksheets("Sheet1").Range("B2").Resize(10,1) values = rng.Values2 For i=1 to 10 values(i,1) = 2*values(i,1) Next i rng.Values2 = values