我正在使用instr函數查找範圍內的值vba並且當我查找我的字符串是"ra01"
時,它找到它並且工作完美,但它不會遞增1.我的意思是由我的工作表Sheet1 ,範圍C使用instr在vba中查找值
row2 (2_x_ra01_ff string),
row3 (ff_x_xxxx_ff), row4 (xxxxxxx),
row5 (fffffff) row6 (1_f_ra01_xx)
row7 (dfdfdfd) row8(f_x_ra01_xx)
這些都是字符串,所以當我嘗試的發現值粘貼到Sheet2中,它是複製和粘貼pefect但不正確的增加,而不是我的sheet2看起來像這樣row2(2_x_ra01_ff string)
然後row3 empty row4 empty row5 empty row6(1_f_ra01_xx)
等等。那麼爲什麼它不粘貼在row3
或row4
或row5
,爲什麼它會從sheet1中選擇完全相同的行。這是我的代碼,如果你運行它,你將會更好地理解它。
Sub find()
Dim x As String, i As Long, lastrow As Long, y As Long
x = "ra01"
y = 2
lastrow = Sheets("Sheet1").UsedRange.Rows.Count + 1
For i = 2 To lastrow
If Sheets("Sheet1").Cells.InStr(i, 6).Value = x Then
Sheets("Sheet2").Range("A" & y) = Sheets("Sheet1").Cells(i, 1)
y = y + 1
End If
Next i
End Sub
我認爲你的代碼中有語法錯誤。另外,爲了得到你想要的東西,不要在你的目標工作表中使用相同的變量'i'。 – L42