我想使用具有相同变量的不同数据类型并进行一些计算。例如,我在中使用变量“option”,
If option = 1 then
Do this
Elseif option = "X" then
Do this
Elseif option = 6 then
Do this
Endif
有什么办法可以让这个工作吗?
我想使用具有相同变量的不同数据类型并进行一些计算。例如,我在中使用变量“option”,
If option = 1 then
Do this
Elseif option = "X" then
Do this
Elseif option = 6 then
Do this
Endif
有什么办法可以让这个工作吗?
您可以使用变体来允许在一个变量内使用不同的数据类型。下面的代码有效。
Public Sub TestVariant()
Dim x As Variant
x = 17
If x = 1 Then
' Do this
ElseIf x = "bob" Then
' Do this
ElseIf x = 17 Then
' This is done
End If
End Sub
在我的头顶上,这闻起来有点味道。最好严格定义变量。如果您正在处理也可能是字符串的数字,您总是可以将数字变成字符串。例如:
Public Sub TestVariant()
Dim x As string
x = "1"
If x = "1" Then
' Do this
ElseIf x = "bob" Then
' Do this
ElseIf x = "17" Then
' This is done
End If
End Sub
编辑:另一个在 Excel 中按预期编译和工作的示例。
Public Function TestVariant(theOption As Variant)
If theOption < 0 Then
TestVariant = "Negative"
ElseIf theOption = 6 Then
TestVariant = "Six"
ElseIf theOption = "Stuff" Then
TestVariant = "Other Stuff"
Else
TestVariant = theOption
End If
End Function
如果你声明你应该很高兴option
。Variant