gpt4 book ai didi

excel - VBA将对象传递到另一个对象集合

转载 作者:行者123 更新时间:2023-12-04 21:17:18 24 4
gpt4 key购买 nike

我有一组所有者,每个人都有自己的一组机会。

我有两个类模块,具有一堆属性的 ClmOpportunity 和具有单个名称属性的 ClmOwner 和存储 ClmOpportunity 对象的集合:

Public name As Variant
Private opps As New collection

Public Function addOpportunity(opp As ClmOpportunity)

opp.ID = opps.Count + 1
opps.Add opp, opps.Count + 1

End Function

这些所有者对象也存储在我的主模块的集合中。当我尝试使用 addOpportunity 函数时,如下所示:
Dim item As New ClmOpportunity

item.name = "test"

owners.item(overallOwner).addOpportunity (item)

我得到错误:

"object doesn't support this property or method"



我对 VBA 很陌生,我不明白为什么会这样,我正在传递一个 ClmOpportunity,所以应该没问题吧?

任何帮助将不胜感激!

最佳答案

如果没有返回值,则不要使用括号...

owners.item(overallOwner).addOpportunity item

...然后您将收到“类型不匹配”错误,因为集合需要字符串值作为键,因此您需要调整 addOpportunity函数(如果您不打算添加返回值,它可能应该是一个 Sub)

关于excel - VBA将对象传递到另一个对象集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12222945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com