在VBA中使用其他变量定义变量名称

时间:2013-07-12 11:35:50

标签: vba variables

我对VBA很新,并且在基本训练中有以下情况:

Select Case Me.comColour
    Case Is = "Red"
    Range("a1").Font.Color = vbRed
    Case Is = "Blue"
    Range("a1").Font.Color = vbBlue
    Case Is = "Green"
    Range("a1").Font.Color = vbGreen
End Select

现在,鉴于组合框只包含红色,绿色,蓝色等字样,我想到也许我可以通过说“评估vb后跟Me.comColour”之类的方式直接调用vb(color) / p>

我知道我可以在mIRC脚本中使用格式

根据其他变量定义具有不同名称的变量(例如根据需要创建%variable1,%variable2等)
 [ % $+ stuff $+ [ %variable ] ]

但是我如何在VBA中执行此操作?

1 个答案:

答案 0 :(得分:0)

你不能以简单明了的方式做到这一点。可以通过创建一个字典来完成某些事情,但我认为这对于这样一个简单的代码来说比它值得更麻烦。 Select Case对我来说已经足够了。

[您可以创建一个数组并使用组合框中的索引号来选择颜色,但如果组合框项目的顺序发生变化,则会出现问题。]

BTW比较平等时,您不需要Is

Select Case Me.comColour
    Case "Red"
    Range("a1").Font.Color = vbRed
    Case "Blue"
    Range("a1").Font.Color = vbBlue
    Case "Green"
    Range("a1").Font.Color = vbGreen
End Select

您可能会认为使用With..End With稍微整理一下:

With Range("A1").Font
    Select Case Me.comColour
        Case "Red"
        .Color = vbRed
        Case "Blue"
        .Color = vbBlue
        Case "Green"
        .Color = vbGreen
    End Select
End With

但这是一个意见问题。