我有一个Sub,它有很多范围,称为rng1, rng2, rng3,
等。
我想循环浏览所有范围。我希望其中一种识别范围的方法能起作用,但他们给了我"对象'_Global'的方法'Range'失败":
Dim str as String
Dim I as Integer
Dim rng1 as Range, rng2 as Range, rng3 as Range
Set rng1 = Range("A10:A75")
Set rng2 = Range("A95:A175")
Set rng3 = Range("A180:A185")
For I = 1 to 3
Range("rng1").Copy 'I didn't expect that to work
Range("rng" & I).copy
Range("rng" & CStr(I)).Copy
str = "rng" & I
Range(str).Copy
Next I
根据意见进行编辑以澄清。我知道代码示例没有任何用处,但它显示了我所做的尝试。
不能通过将变量的名称构建为字符串来引用变量。变量不是这样工作的。你需要一个替代方案。
这是一个
Dim rng(1 To 3) as Range
Set rng(1) = Range("A10:A75")
Set rng(2) = Range("A95:A175")
Set rng(3) = Range("A180:A185")
For I = 1 to 3
rng(I).copy
`...
Next I