我正在尝试迭代一系列范围引用。
Dim labels As Collection
Set labels = New Collection
Dim myLabel As Range
Set myLabel = FindDataRow(mySearchterms, CurrentWorksheet) ' <- Returns a Range
labels.Add (myLabel)
后来我试图遍历那些Range引用,下面的代码不起作用:我得到一个运行时错误424.我理解一个Object是必需的,但是标签是如何变成一个String的。
Dim label As Variant
Set label = Nothing
For Each label In labels
Debug.Print (label & " in: " & label.Row)
Next label
我尝试过关注this other answer here,但由于我是Excel中的VBA新手,我不明白Range引用如何放入数据结构中,以后检索/引用以访问label.Row
as我想在上面(在这里说“~~&gt;在这里做你想做的任何事情”)
到目前为止,我的理解是labels
是一个集合,并不关心其中的项目类型。所以我添加了Range
引用。但我以后不能检索它们。我哪里错了?
答案 0 :(得分:1)
从add方法中删除括号,因为这会强制将范围的值添加到集合而不是对象:
labels.Add myLabel