2013-04-29 29 views
1

的屬性是找到兩個ID之間的比賽在Excel中,如果匹配,那麼就把新價值在新的小區。問題是,當調試出現「無法獲取發現WorksheetFunction類的屬性」。「無法獲得發現我是新來的VBA下面的代碼WorksheetFunction類

Dim lMatch As Long 
For i = 0 To 112 
    For j = 0 To 540 
    lMatch = Application.WorksheetFunction.Find(Cells(2 + i, "A").Value, Cells(2 + j, "H").Value) 
     If lMatch > 0 Then 
      ActiveSheet.Cells(2 + i, "B").Value = ActiveSheet.Cells(2 + j, "I").Value 
     End If 
    Next j 
Next i 

回答

1

我不牛逼認爲WorksheetFunction.Find()是你需要什麼,這是一個的應用範圍內的其它查找方法。這個怎麼樣?

Dim lMatch As Range 
For i = 0 To 112 
    For j = 0 To 540 
    Set lMatch = Cells(2 + i, "H").Find(Cells(2 + i, "A").Value) 
     If Not lMatch Is Nothing Then 
      ActiveSheet.Cells(2 + i, "B").Value = ActiveSheet.Cells(2 + j, "I").Value 
     End If 
    Next j 
Next i 
+0

感謝。這真的是我想要的 – Afnan 2013-04-29 16:14:57

3

我相信WorksheetFunction.Find(),如果你試圖尋找不存在的東西。

我建議將拋出一個錯誤使用不同的功能,諸如InStr()實現你彷彿可以嘗試。

或者,如果你必須使用On Error重定向程序流時,它無法找到該值。

相關問題