我怎么能每次修复我的增量当我使用instr与vba,我的代码工作完美,找到字符串即时寻找,但它没有增加权利,而不是做一次,它执行两次,并结束于第12行,这是我的最后一行。我了解它的停止在我的lastrow这是12,但我不明白为什么它递增两次,当我说增加两次这意味着首先找到我的所有字符串,这是他们4然后它回到第一个,并继续这样做,直到LASTROW是12,这里是我的代码和我的范围就像我运行后
1N_ra01_68K
1N_ra01_K
1N_ra01_70K
1N_ra01_88K
1N_ra01_K
1N_ra01_70K
1N_ra01_88K
1N_ra01_70K
1N_ra01_88K
1N_ra01_88K
1N_ra01_88K只是提醒哟我行星星2和12我怎样才能解决我的增量instr与vba
sub find()
dim i as long, x as string, y as long, Sheet1rows as long
x = "ra01"
y = 2
Sheet1rows = Sheets("Sheet1").UsedRange.Rows.Count + 1
For i = y To Sheet1rows
If InStr(1, Sheets("Sheet1").Cells(i, 3), x) > 0 Then
Sheets("Sheet3").Range("F" & y) = Sheets("Sheet1").Cells(i, 6)
y = y + 1
End If
Next i
end sub
使用y以设置我,然后改变的值y在for循环中可能会导致一些问题。 –
你能解释一下它的意义吗?有两个变量递增:'y'和'i'。你在说哪一个? –
这段代码至少据我所知可以工作。如果您收到意想不到的结果,请详细描述您的具体问题。如果我对'我= 2到Sheet1Rows'或'对于我= y到Sheet1Rows',我没有看到任何可观察到的差异。在这种情况下使用计数器'y'是可以的,因为VBA不支持并行迭代。 –