我正在尝试编写一些代码,其中可以在运行时确定变量的类型,例如:
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
,所以我的问题是:什么是正确的解决方案?
------------------------------补编---------------- ------------------------
当然Dim var As Variant
可以解决问题。但是,我的一个目的是在分配给var
的数据不属于varTyp
类型时检测错误。
一种可能的解决方案是写
If TypeName(assignedData)=varTyp Then
var=assignedData
else
'''''''
'Error'
'''''''
End If
但是还有更优雅/更有效的解决方案吗?