动态添加到嵌套集合VBA中的第一个集合

时间:2016-06-03 15:37:55

标签: vba dynamic collections nested

我有一个嵌套的集合,我希望能够遍历父集合,动态地添加到每个子集合。请参考以下示例:

Dim parent, child1, child2, child3 as New Collection
parent.add child1
parent.add child2
parent.add child3

for i = 1 to parent.count
    parent(i).Add "This is data in each child collection"
next i

这可能吗?上面的代码将返回一个错误,指出需要一个对象。在我的项目中,父集合包含大约20个不同的子集合,所有这些集合都具有不同的大小。我宁愿不必手动写出每个孩子的附加代码。关于如何前进的任何建议都会非常有帮助!

1 个答案:

答案 0 :(得分:1)

要消除错误,请输入:

import math
import random

for _ in range(0, 99):
    N = random.uniform(-9999, 9999)
    n_div = N // 1; n_mth = math.floor(N)
    if n_div != n_mth:
        print("N: {} ... N // 1: {} | math.floor(N): {}".format(N, n_div, n_mth))
    elif type(n_div) != type(n_mth):
        print("N: {} ... N // 1: {} ({}) | math.floor(N): {} ({})".format(N, n_div, type(n_div), n_mth, type(n_mth)))
else:
    print("Seem the same to me")

因为必须明确声明每个变量,否则假定为Dim parent As New Collection, child1 As New Collection, child2 As New Collection, child3 As New Collection 类型 并且Variant变量没有任何Variant方法