我知道可以通过以下方式将对象添加到集合中
Dim ItemList As Collection
Set ItemList = New Collection
Dim Item As New CItem
Set Shoe = New CItem
With Shoe
.Quantity
.IDNumber
.Description
End With
ItemList.Add Shoe
Set Bag = New CItem
With Bag
.Quantity
.IDNumber
.Description
End With
ItemList.Add Bag
我将能够调用我想要使用的数据(成本 = Bag.Quantity * 2)
但是我的问题是我的项目列表将由用户定义。有没有办法将可变数量的对象添加到集合中,并且仍然能够通过项目名称检索单个数据?
例如,给我一个物品 list :鞋、包、太阳镜、裤子
我想编写一个 for 循环来读取类“Item”下的所有这些对象,但仍然能够计算(xyz = Sunglasses.Quantity + Pants.Quantity - Bag.Quantity)。我曾尝试使用计数器,但它似乎只接受常量表达式。
这可能吗?如果是这样,我将不胜感激帮助找出如何做到这一点。
最佳答案
您可以使用键将项目添加到集合中:
ItemList.Add Shoe, "Shoe"
然后通过指定这个键来检索它:
Dim Shoe As CItem
Set Shoe = ItemList.Item("Shoe")
关于vba - 将可变数量的对象添加到集合中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31535176/