从多个其他变量创建一个变量

Create a variable from multiple other variables

我想用一个变量来定义另一个变量,希望我能解释清楚。我在 MS Access 2010 中使用 VBA。

假设我有 Var1、Var2、Var3 和 Var4,我从这个开始

Dim Var1 As String
Dim Var2 As String
Dim Var3 As String
Dim Var4 As String
Var1 = "Var"
Var2 = "4"
Var3 = "Hello"

现在我想设置 Var4 的值,但我想使用 Var1 和 Var2 的值组合来生成 Var4,而不是

Var4 = "Hello"

我想要这样的结果使 Var4 等于 "Hello":

Var1 & Var2 = "Hello"

我也想用Var1和Var2比较Var3和Var4的值

If Var1 & Var2 = Var3 Then
MsgBox ("Hello World!")
End If

在此 If 语句中应该发生的是它应该将变量 Var4 的值与 Var3 的值进行比较并显示消息框。我知道我输入的内容会将值 "Var4" 与 "Hello" 进行比较,但希望你能明白我的意思,因为我不确定如何更好地阐述。

[编辑] link Barranka 发布的内容似乎可以满足我的要求。我会看看我是否能弄清楚如何使用它,但我在这方面是个大菜鸟,所以如果有人有更简单的解决方案,我还在听:)

[编辑] 我完全错了。经过足够多的谷歌搜索后,我偶然发现了数组。我问错了问题,因为我没有意识到还有其他东西可以如此轻松地满足我的需求。

如果我理解你的问题,那你就快搞定了。您只需添加 Var4 = Var1 & Var2。您是否希望所有变量都来自 excel sheet?让我知道这是否有效:

Private Sub Hello()

Dim Var1 As String
Dim Var2 As String
Dim Var3 As String
Dim Var4 As String
Var1 = "Var"
Var2 = "4"
Var3 = "Hello"

Var4 = Var1 & Var2

If Var1 & Var2 = Var3 Then
MsgBox ("Hello World!")
End If

End Sub

Eval Function 可能就是您要找的。

Eval(Var1 & Var2 & " = Hello")

另外,您需要在 Hello 周围添加一些转义引号。 This link 可能会有帮助。