2011-01-23 78 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!