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,因为它们都返回对象或者Range
types。
使用
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