将数据从Excel加载到类中

我在VBA中创build了一个包含多个私有variables的类

Private pVar1 as Double Private pVar2 as Double ... 

我有一对Property Get/Let每个variables。

在Excel中,我有一个系列标签(在列A中)和值(在列B中),每个匹配一个variables。 将这些数据从Excel读取到VBA的最佳方法是什么?

我查看了http://dailydoseofexcel.com/archives/2011/12/26/populating-class-properties/,但在这种情况下并不完全合适。

是我唯一使用的解决scheme

 Dim obj as new myClass obj.property1 = range("b1").value obj.property2 = range("b2").value ... 

或有没有办法select哪个obj.property我分配一个值,基于range("a1").value

A1包含属性名称,可以使用CallByName:

 callbyname obj, Range("A1").Value, VbLet, Range("B1").value 

例如。

您的链接涵盖了“地图列位置属性”相当好。 你可以:

 For iRow = lo to hi propname = ws.cells(iRow, 1) Select Case propname Case "alpha": obj.Alpha = ws.cells(iRow, 2) .. Case Else: Msgbox "Oops" End Select Next iRow