首页 > 解决方案 > 分配 Collection 异议

问题描述

我正在尝试创建一个计算投资组合方差的应用程序,我有一个由 3 只股票组成的投资组合,如下所示,还有一张单独的表格,显示每只股票的回报如何随下一只股票而变化,因此股票 A 相对于股票 B 的表现。

股票回报 在此处输入图像描述

我创建了一个名为 Stock 的类,其属性(Stock Name - String、Return - Double、Weight - Double) 我还在 Stock 类中创建了一个集合对象作为属性。

我还有一个事件过程 Workbook_Open() 子过程,它从我的 excel 表中读取数据,例如股票名称、回报、重量和相关性。该过程然后创建一个新的 Stock 对象并填充属性(使用 Class Let 过程来分配每个对象的属性)问题出在我的 Stock Class 代码的这一部分:

Public Property Let AssetCorrel(correlate As Collection)
  
Set AssetCorrelation = correlate

End Property

当我尝试将集合对象传递给我新创建的 Stock 对象时,调用 Let 过程的代码部分在这里: collAssetType(rowCounter).AssetCorrel = keyCorrelate(strAssetType) 其中 collAssetType 是 Stock 类的数组,我的尝试在将新对象引用 (collAssetType(rowCounter).AssetCorrel) 分配给已在其他地方创建的集合对象时。

我确信问题在于我如何设置/创建对集合对象的新引用,我哪里出错了?

标签: excelvba

解决方案


推荐阅读