我对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中执行此操作?
答案 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
但这是一个意见问题。