2015-02-06 77 views
0

我一直在試圖讓這段代碼工作。但沒有運氣。我已經重建了它,並在每個點都進行了測試。但是當我看到if部分時,它似乎失敗了。 但由於某些原因,代碼不會複製和粘貼任何搜索信息。VBA循環找到記錄不工作

Sub copy() 

Dim company As String 
Dim lastrow As Integer 
Dim i As Integer 'row counter 

sheets("sheet1").Range("m2:s5000").ClearContents 

company = sheets("Sheet1").Range("k2").Value 

lastrow = sheets("sheet1").Range("A2000").End(xlUp).Row 

For i = 2 To final 

     If Cells(i, 1) = company Then 
      Range(Cells(i, 1), Cells(i, 10)).copy 
      Range("J100").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats 

     End If 

Next i 

Range("a6").Select 

End Sub 

該計劃是使用代碼來搜索每月信息並從特定列表中返回所有供應商。

預先感謝您!

+1

什麼是'final'?它沒有在你提供的代碼中定義。這是問題嗎? – 2015-02-06 16:56:21

+0

這樣的聲音可以用VLOOKUP而不是VBA重新設計 – chancea 2015-02-06 17:03:38

回答

1

它看起來像你永遠不會聲明和初始化final。爲了避免這樣的錯誤,請轉到「工具」>「選項」,選擇「編輯器」選項卡,然後選中「需要變量聲明」框。