【发布时间】:2018-05-30 22:59:25
【问题描述】:
我必须在循环中创建许多变量,所以我需要创建通用变量名称(注意,为了我的代码,我不能只将我想要创建的对象附加到列表或集合中)
我想的代码看起来像这样(n 是用户定义的变量,它是一个整数)
Dim var_name As String
For i = 1 To n
var_name = "test" & i
Set var_name = Range(Cells(1, 1), Cells(i * 2, i))
Next i
我想获得这样的变量:
- test1 是从 A1 到 B2 的范围
- test2 的范围从 A1 到 C4
- test3 的范围从 A1 到 D6
- .... testn 的范围从 A1 到任何值
它们不一定是范围,我真正想要的是使用存储在另一个变量中的字符串来声明一个变量名
【问题讨论】:
-
您所要求的不能在 VBA 中完成,尽管它可以在 asp-classic 中完成,我认为 vbscript。您需要使用数组或可能命名的范围。
-
顺便说一句,您的循环会创建 A1:A2、A1:B4、A1:C6 等。
-
看看
Scripting.Dictionary。语法会有点冗长,但是(根据您的示例)它应该能够为您提供非常相似的功能。 -
使用 Range 类型的数组,维度从 1 到 n。您不能在 VBA 中使用变量变量名,而且由于
i似乎是这里的真正关键,您可以直接对数组使用它。