Vba 将数据从Excel加载到类中
我在VBA中创建了一个带有几个私有变量的类Vba 将数据从Excel加载到类中,vba,excel,Vba,Excel,我在VBA中创建了一个带有几个私有变量的类 Private pVar1 as Double Private pVar2 as Double ... 对于每个变量,我有一对属性Get/Let 在Excel中,我有一系列标签(在a列)和值(在B列),每一个都匹配一个变量。将这些数据从Excel读取到VBA的最佳方法是什么 我看过了,但在这种情况下并不完全合适 这是我唯一可以使用的解决方案 Dim obj as new myClass obj.property1 = range("b1").valu
Private pVar1 as Double
Private pVar2 as Double
...
对于每个变量,我有一对属性Get/Let
在Excel中,我有一系列标签(在a列)和值(在B列),每一个都匹配一个变量。将这些数据从Excel读取到VBA的最佳方法是什么
我看过了,但在这种情况下并不完全合适
这是我唯一可以使用的解决方案
Dim obj as new myClass
obj.property1 = range("b1").value
obj.property2 = range("b2").value
...
或者有没有办法选择哪个obj.property
I根据range(“a1”).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
您的链接很好地涵盖了“将列位置映射到属性”。你可以:
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
您的链接很好地涵盖了“将列位置映射到属性”。你可以:
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
您的链接很好地涵盖了“将列位置映射到属性”。你可以:
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
A1包含属性名称,您可以使用CallByName:
callbyname obj, Range("A1").Value, VbLet, Range("B1").value
例如。A1包含属性名,您可以使用CallByName:
callbyname obj, Range("A1").Value, VbLet, Range("B1").value
例如。A1包含属性名,您可以使用CallByName:
callbyname obj, Range("A1").Value, VbLet, Range("B1").value
例如。A1包含属性名,您可以使用CallByName:
callbyname obj, Range("A1").Value, VbLet, Range("B1").value
例如。代码如何确定要使用哪个属性?如果A1包含属性名,您可以使用CallByName:CallByName obj,Range(“A1”)。例如,Value,VbLet,Range(“B1”)。Value
。我必须调查这个CallByName-以前从未听说过!这正是我想要的。做一个回答,我就接受。代码如何决定使用哪个属性?如果A1包含属性名,您可以使用CallByName:CallByName obj,Range(“A1”)。例如,Value,VbLet,Range(“B1”)。Value
。我必须调查这个CallByName-以前从未听说过!这正是我想要的。做一个回答,我就接受。代码如何决定使用哪个属性?如果A1包含属性名,您可以使用CallByName:CallByName obj,Range(“A1”)。例如,Value,VbLet,Range(“B1”)。Value
。我必须调查这个CallByName-以前从未听说过!这正是我想要的。做一个回答,我就接受。代码如何决定使用哪个属性?如果A1包含属性名,您可以使用CallByName:CallByName obj,Range(“A1”)。例如,Value,VbLet,Range(“B1”)。Value
。我必须调查这个CallByName-以前从未听说过!这正是我想要的。这是一个非常好的方法,从健壮代码的角度来看可能“更好”。也可以添加常量,而不是硬编码文本。我肯定会在未来的工作中使用这种方法,但对于我目前的项目,另一个答案更好。谢谢你!这是一种非常好的方法,从健壮代码的角度来看可能“更好”。也可以添加常量,而不是硬编码文本。我肯定会在未来的工作中使用这种方法,但对于我目前的项目,另一个答案更好。谢谢你!这是一种非常好的方法,从健壮代码的角度来看可能“更好”。也可以添加常量,而不是硬编码文本。我肯定会在未来的工作中使用这种方法,但对于我目前的项目,另一个答案更好。谢谢你!这是一种非常好的方法,从健壮代码的角度来看可能“更好”。也可以添加常量,而不是硬编码文本。我肯定会在未来的工作中使用这种方法,但对于我目前的项目,另一个答案更好。谢谢你!