通过变量字符串引用范围导致1004错误



我有一个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

最新更新