Orp*_*hid 2 excel vba class excel-vba
与往常一样,这可能是一个新问题,但这里有:
我有一个有15个属性的类.每个类别代表一个库存项目的信息(有多少,最近发货了多少等).每次通过传递一个股票代码来初始化一个类时,它会从其他来源收集所有数据并将其存储为该类的属性.
我希望能够初始化n个类,具体取决于列表的长度(从不超过200).我想用它们的股票代码命名这些类,以便我可以稍后调用这些信息并添加到它中.唯一的问题是我不知道如何使用变量来命名一个类.我真的不想长时间写出200个类,因为我确信有更好的方法来执行它而不是Dim:Stock1 As C_ICODE, Stock2 As C_ICODE, Stock3 As C_ICODE按顺序初始化它们,直到输入(从ActiveCell)= ""或它达到最大列表长度200如果可能的话,我想创建尽可能多的类实例,并生成类似这样的内容:
伪代码:
For Each xlCell In xlRange
strIN = xlCell.Value
Dim ICode(strIN) As New C_ICODE
ICode(strIN).lIcode = strIN
Next
Run Code Online (Sandbox Code Playgroud)
Letting classname.lIcode = strIN为类提供了所需的所有用户输入,然后执行各种函数和子程序以获得其他14个属性.
如果有人能告诉我VBA中是否有可能这样做,我将非常感激,如果有的话,我该如何解决呢?绝对努力寻找相关信息.
您可以使用Dictionary对象:
Dim ICode As Object
Set ICode = CreateObject("Scripting.Dictionary")
For Each xlCell In xlRange
strIN = xlCell.Value
ICode.Add strIN, New C_ICODE
ICode(strIN).lIcode = strIN
Next
Run Code Online (Sandbox Code Playgroud)