在类模块中有:
Private Enum colType
ID = "A"
SSN = "B"
lName = "H"
fName = "G"
End Enum
作为私人会员。每当类初始化时,我都会收到“编译错误:类型不匹配”消息。如果我将
colType
声明为Private Enum coltype As String
。突出显示为红色的错误,我得到消息:编译错误:预计语句结束
是否在Excel VBA中指定了枚举元素的值?
最佳答案
如评论中所写,这是不可能的。尽管我过去使用过可能的解决方法。有:
Private Enum colType
ID = 1
SSN = 2
lName = 3
fName = 4
End Enum
然后创建一个单独的函数的String属性,例如:
Public Property Get colType_String(colType) as String
Dim v as Variant
v= Array("A","B", ...)
colType_String = vba.cstr(v(colType))
End Property
这不是最通用的解决方案,但易于实现并且可以完成工作...如果您已经在类模块中拥有此功能,则甚至可以使用private colType变量上的属性,并且无需将colType输入到财产。