有条件地修改变量名称

时间:2016-06-02 15:49:05

标签: vba excel-vba excel

嗨,我是vba编程的新手。我有三个标记为txtDept1,txtDept2和txtDept3的文本框。我想在整数(k)上选择条件

Private Sub test()
Dim txtDept1, txtDept2, txtDept3, Testval As String
Dim k As Integer
txtDept1 = "Chem"
txtDept2 = "Biol"
txtDept3 = "Phys"
k = 1
Testval = Evaluate("txtDept" & CStr(k))
MsgBox (Testval)
End Sub

1 个答案:

答案 0 :(得分:1)

您可能需要考虑使用数组:

Option Base 1

Private Sub test()

Dim txtDept As Variant, Testval As String
Dim k As Integer

txtDept = Array("Chem", "Biol", "Phys")

k = 1            'the first from the above array elements

Testval = txtDept(k)

MsgBox (Testval)

End Sub

重要提示:复制时不要忘记将上述Option Base 1包含在代码中。这是因为VBA通常开始计算从0开始的数组中的元素。因此,0将是(在您的情况下)Chem并且Biol将是1.使用{{ 1}}你告诉VBA用1开始计数,你会得到正确的结果。