Vba集合设置并从自定义函数中的集合中检索值

我试图遍历单元格范围(单列),其中包含名称和代码包含string“cgl”。

我可以遍历范围,并确定单元格,但我试图使用集合来存储名称和行号,所以我可以返回它。 但是我没有正确设置值,可能没有正确检索值(msg框命令在此之后不起作用)。 我正在使用Excel 2007。

我遵循其他q的在线帮助中find的例子,但是什么是使用收集的正确方法?

Function DHNameRows(rng As Range, name) ' eg name = david Dim item As Range Dim staff As Collection Set staff = New Collection For Each item In rng found = InStr(item.Value, "CGL") If found = 0 Then 'item value should equal david MsgBox item.Value staff.Add item.Value, item.Row End If Next MsgBox staff.item(name) DHNameRows = staff.item(name) End Function