【发布时间】:2012-06-14 17:24:30
【问题描述】:
我正在尝试使用.Find 和.FindNext 来搜索单列数据。我首先需要找到包含值“Total”的第一个单元格。我试图到达的单元格是“总计”单元格之后的第三个单元格,其中包含值“技术”。可以肯定的是 Cells(1, 1) 不包含“Tech”或“Total”。
Dim FirstTotal As Range
Dim SearchRng As Range
Dim ResultRng As Range
Set SearchRng = Range("A:A")
Set FirstTotal = SearchRng.Find(What:="Total", After:=Cells(1, 1), SearchDirection:=xlNext)
Set ResultRng = SearchRng.Find(What:="Tech", After:=FirstTotal, SearchDirection:=xlNext)
SearchRng.FindNext().Activate
SearchRng.FindNext().Activate
在我运行此代码的大约 50% 的时间里,我被 Set ResultRng = 开头的行上的类型不匹配错误所阻止。其余时间,代码一直运行,但结果看起来好像最后两行代码被完全忽略了。
我怀疑这里的答案非常基本,但我对 excel vba 还是很陌生,到目前为止我发现没有任何资源可以回答这个问题。请帮忙!
【问题讨论】:
-
Range.FindNext 似乎最终被打破了。即使使用与 Microsoft 示例相同的代码,它也从未对我有用。