1

我想使用具有相同变量的不同数据类型并进行一些计算。例如,我在中使用变量“option”,

If option = 1 then
   Do this
Elseif option = "X" then
   Do this
Elseif option = 6 then
   Do this
Endif

有什么办法可以让这个工作吗?

4

2 回答 2

2

您可以使用变体来允许在一个变量内使用不同的数据类型。下面的代码有效。

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
于 2013-07-02T12:36:07.123 回答
1

如果你声明你应该很高兴optionVariant

于 2013-07-02T12:31:45.563 回答