Typecast字符串(单元格值)到用户定义的类型?

时间:2011-01-16 15:17:43

标签: excel vba excel-vba

我对VBA完全陌生。

我创建了一个名为QualVal的用户定义类型,它有两个成员变量。 然后我创建了几个变量作为Qualval并初始化它的值。

现在我想读取一个单元格值,它是一个字符串并与变量名称匹配并对其进行类型转换。

Type QualVal
    ul As Integer 'upper limit
    ll As Integer 'lower limit
End Type

类型为QualVal的变量:

g1.ll = 94
g1.ul = 96
n.ll = 90
n.ul = 93

现在我想做这样的事情:

Dim group As QualVal
group = Cell(1, 2).Value 'would like to cast it to either g1 or n according to the cell value which also can only contain g1 or n

我希望我很清楚我想做什么。 我可以使用一个select case语句,但我有比提到的更多的变量,这个解决方案看起来不太好。

也许有人可以帮助我。

提前感谢您和最好的问候!

1 个答案:

答案 0 :(得分:0)

我认为你不能这样做,但我不确定。

无论如何,我能看到的最佳解决方案是将所有可能的变量名称及其对象存储在Collection中。像这样:

Dim vars As New Collection

vars.Add "g1", g1
vars.Add "n", n

Dim group As QualVal
group = vars.Item(Cell(1, 2).Value)

这也更加安全,因为您可以控制暴露的变量。