在运行时确定的变量类型

时间:2016-01-08 02:15:19

标签: excel vba excel-vba variable-declaration

我正在尝试编写一些代码,其中可以在运行时确定变量的类型,例如:

Option Explicit
Sub test()

    dim varTyp as String

    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Assign value to varTyp, through an InputBox for example'
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''

    Dim var As varTyp

    '''''''''''''''''''''
    'Assign value to var'
    '''''''''''''''''''''

End Sub

当然,此示例中的Dim var As varTyp在VBA中不起作用,因为它会生成编译错误User-defined type not defined,所以我的问题是:什么是正确的解决方案?

------------------------------补编---------------- ------------------------

  1. 当然Dim var As Variant可以解决问题。但是,我的一个目的是在分配给var的数据不属于varTyp类型时检测错误。

  2. 一种可能的解决方案是写

    If TypeName(assignedData)=varTyp Then
        var=assignedData
    else
        '''''''
        'Error'
        '''''''
    End If
    
  3. 但是还有更优雅/更有效的解决方案吗?

0 个答案:

没有答案