我使用Find函数遇到了非常奇怪的bug(?)。由于某种原因,尽管找到了确定范围内的任何其他行,但它找不到下一行(n + 1)。
const
基本上,它将查找单元格(eil,3)的相同值,如果满足D,F和H列中的某些条件,则将找到的行添加到“ eil”行(E列),然后将其删除。如果C列中的相同值彼此相邻(eil和eil + 1),
volatile
查找第二个可用行(来自eil + 2,eil + 3等),跳过eil + 1行。如果我从Range(“ C”&eil + 1&“:C1000”)删除+1,仅保留Range(“ C”&eil&“:C1000”),它将找到同一行。 现在,我有一个解决方法,但是找出为什么“查找”跳过下一行可能很酷。
答案 0 :(得分:0)
eil = eil + 1总是向eil加1。 DbSh.Range(“ C”&eil + 1&“:C1000”)。Find也添加了1。放在一起,只要找到内容,您都将跳过“ next”行。
这应该纠正该问题。
...
row1 = DbSh.Range("C" & eil & ":C1000").Find(laik, LookIn:=xlValues, LookAt:=xlWhole).row
...
首先,我建议跳过所有“受控错误”,并使用“查找/查找下一个”对。