我正在尝试在工作表中查找特定值并从中提取其他信息。但是,有时该值会多次出现。在这些情况下,我想要在与找到的值相同的行中找到另一组值。下面的代码很适合识别值的特定实例,然后提取信息(即"做东西"部分),但我如何循环它以拉取值和存储的所有实例他们的地址暂时?
谢谢!
--experimental_repository_cache
答案 0 :(得分:0)
您也可以使用FindNext。
你需要再增加一个var来确保你的findNext方法在到达最后一次出现时不会重新开始
Dim nextISIN As Range
For i = 0 To AccountsLength - 1
CurrentAccount = Worksheets("DataSheet").Range("AccountList")(i + 2)
Set CurrentAccountPage = Worksheets(CurrentAccount).UsedRange
Set FoundISIN = CurrentAccountPage.Find(what:=SearchISIN, LookIn:=xlValues, _
LookAt:=xlPart, MatchCase:=False)
Set nextISIN = CurrentAccountPage.FindNext(FoundISIN)
If Not FoundISIN Is Nothing Then
Do Until FoundISIN == nextISIN
'Do stuff
Set nextISIN = CurrentAccountPage.FindNext(nextISIN)
Loop
End If
这应该有效。但是,我在乘坐火车时从手机上写字,所以可能会出现语法错误。
我希望它有所帮助:)
修改:我想在此发表评论,以便更清晰地了解代码
如果您已经有一个范围,那么您可以遍历它,看看您的SearchISIN
是否出现过多次。如果它没有,那么do stuff
就可以了。
Dim tempCell As Range
Dim Occurrences As Int
For Each tempCell In givenRange
If tempCell.Value == SearchISIN Then
Occurrences = Occurrences + 1
End If
Next tempCell
If Occurrences == 1 Then
'Find the cell and do stuff to it
End If
我不是100%肯定你想做什么。尝试下次发布一些数据结构,人们可以更容易地提供帮助:)