如何用vba修复instr中的增量

时间:2014-07-02 00:21:45

标签: vba excel-vba excel

每次当我使用带有vba的instr时,我怎么能修复我的增量,我的代码工作得很完美,找到了我正在寻找的字符串,但它没有正确递增,而不是一次,它做了两次,结束于第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结束

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

1 个答案:

答案 0 :(得分:0)

试试这个...

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