2017-04-24 3 views
1

私はF.を別のワークシート上VLookupにそれを使用して列に値を返すことができるように、私はループに、列Eの値をしようとしていますVLOOKUPテーブルエラー

それは私にエラー

を与えてきました アプリケーション定義またはオブジェクト定義のエラー

ライン上の

result = Application.WorksheetFunction.VLookup(look, Sheet2.Range("B:H"), 2, 
    False) 

マイコード

Dim X As Integer 
Dim look As Variant 
Dim result As Variant 
X = 2 
Sheet3.Range("E2").Select 
Do Until IsEmpty(ActiveCell) 
    look = Sheet3.Cells(X, 5).Value 
    ActiveCell.Offset(1, 0).Select 
    result = Application.WorksheetFunction.VLookup(look, Sheet2.Range("B:H"), 2, False) 
    Sheet3.Cells(X, 6).Value = result 
    X = X + 1 
Loop 
+0

避けhttp://stackoverflow.com/q/10714251/4539709-今あなたは '' B:H '''に値を持っていますか? – 0m3r

+0

はい、 "B:H"に値があります –

答えて

0

以下のコードを試してみてください(Selectを使用せず、かつActiveCell):選択を使用して

Option Explicit 

Sub VLookupHandleNA() 

Dim X As Long 
Dim Look As Variant 
Dim Result As Variant 

X = 2 
With Sheet3 
    Do Until IsEmpty(.Range("E" & X).Value) 
     Look = .Range("E" & X).Value 
     Result = Application.VLookup(Look, Sheet2.Range("B:H"), 2, False) 
     If Not IsError(Result) Then 
      .Range("F" & X).Value = Result 
     Else ' if Vlookup returns an error, just write something in the cell to let the user know 
      .Range("F" & X).Value = "VLookup wasn't able to find " & Look 
     End If 
     X = X + 1 
    Loop 
End With 

End Sub 
+0

これはあなたの助けを借りてありがとうございます! –