2013-04-29 3 views
1

저는 VBA를 처음 사용했습니다. 코드가 일치하면 Excel의 두 ID가 일치하는지 확인한 다음 새 셀에 새 값을 넣습니다. 디버그 "WorksheetFunction 클래스의 속성을 찾을 수 없습니다"나타날 때 문제입니다."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()가 필요하다고 생각하면 범위에 적용되는 다른 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

3

내가 제안하면 당신이 존재하지 않습니다 찾기 위해 노력하고 있습니다.

오류가 발생합니다 WorksheetFunction.Find()을 믿는다 이 값을 찾을 수 없을 때, 프로그램의 흐름을 리디렉션 On Error를 사용해야하는 경우 등 InStr() 같은 다른 기능을 사용하여. 당신이 시도 될 것으로 보인다 무엇

를 달성 또는합니다.

관련 문제