2011-01-23 76 views
1

我的谷歌已经失败了我,我来找你寻求帮助:是可变的变量吗?

VBA是否能像PHP一样拥有Variable Variables?我知道在PHP中,您可以等待使用$$var来声明变量。

在VBA中可以这样做吗?例如,有没有一种方法可以让我说:我读取一个由1000个字符串组成的整个数组,并且我得到的每个字符串都可以用该字符串声明一个变量,例如,如果数组的第80个元素被命名为STO,我该如何告诉VBA创建一个名称为sto的变量?

+2

我不知道这是否可能,但我知道变量变量是绝对积极的,但毫无意义和有害的罕见情况之一。改用一个吓人的词典。 – delnan 2011-01-23 22:33:59

回答

3

这是不可能的。但几乎所有依赖于变量变量的代码都会被破坏,并且应该被重构,例如使用数组。

编辑(pst): 如果您需要按给定名称a dictionary can be used访问值。一个摘录/例子:

Dim d As dictionary 
Set d = New dictionary 
d("STO") = arr(80) 'or whatever it is in VBA 
+0

那么,接下来的问题是...在VBA中有Dictionary/Hash支持吗?虽然听起来像一个数组/列表在这里是适当的,但Dictionary是“变量变量”的通用替换。 – 2011-01-23 22:32:52

1

那么你可以......有点。

通过操作VBE,您可以在程序中添加行,因此可以根据需要定义变量。当然,这不是一个简单的方法,我也不推荐它。这只是为了您的信息。

Here is a tutorial.

更多的例子可以发现谷歌搜索 “VBE insertlines”

HTH!