作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个名为category的类,它有3个属性。在我的主类中,我设置了 10 个类型类别的实例。使用 init 函数我初始化这些对象,以便我可以使用它们。现在我想循环访问这些对象。我搜索了2个小时,唯一发现的是唯一的解决方案是创建这些对象的集合。您可以在下面看到我的代码示例:
Dim Kat1 As New category
Dim Kat2 As New category
Dim Kat3 As New category
Dim Kat4 As New category
Dim Kat5 As New category
Dim Kat6 As New category
Dim Kat7 As New category
Dim Kat8 As New category
Dim Kat9 As New category
Dim Kat10 As New category
Dim col As New Collection
Kat1.init "Kat1", 14, 17
Kat2.init "Kat2", 18, 21
Kat3.init "Kat3", 22, 25
Kat4.init "Kat4", 26, 29
Kat5.init "Kat5", 30, 33
Kat6.init "Kat6", 34, 37
Kat7.init "Kat7", 38, 41
Kat8.init "Kat8", 42, 45
Kat9.init "Kat9", 46, 49
Kat10.init "Kat10", 50, 54
col.Add Kat1
col.Add Kat2
col.Add Kat3
col.Add Kat4
col.Add Kat5
col.Add Kat6
col.Add Kat7
col.Add Kat8
col.Add Kat9
col.Add Kat10
For Each col.Item In col
MsgBox (<name of the object>)
Next col.Item
最后一部分似乎不起作用,他停在 col.item 并出现错误:“参数不是可选的”。
我做错了什么?
最佳答案
使用变体
来迭代集合,除非它是定义的数据类型(在这种情况下,变体仍然有效)
Dim x As Variant
For Each x In col
MsgBox CStr(x)
Next
代码中的问题是 col.Item
不是一个变量 - 它是一种从集合中访问项目的方法,因此它需要一个参数。您只能使用变量在 For Each
循环中进行迭代
关于excel - VBA 通过 FOR EACH 循环对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34998298/
我是一名优秀的程序员,十分优秀!