2017-06-06 25 views
0

文字列値をシートに保持する変数selrowを検索しています。時にはそれがVBAでVlookupプロパティが機能しない

をワークシート関数のクラスのプロパティをVLOOKUP取得することができませんでし

エラーを示して、私はまた、エラー処理コードを入れているが、まだエラーが発生します。

On Error Resume Nextを使用して

this where error occurs

for i=1 to last_row 
    'code 
    selrow= range("D"&i) 
    opening_inventory_today = 0 
    On Error Resume Next 
    opening_inventory_today = Application.WorksheetFunction.VLookup(selrow, ActiveSheet.Range("A4:B" & lr), 2, False) 
+0

は 'ERROR'オン前のループを入れてください。 – UGP

+1

コンテキストのためのもう少しコードが必要です。 –

+0

@UGP何が起こるかは、行から値をとり、他のシートをアクティブにしてセル行を検索することです。私は、opening_inventory_today = 0と仮定しています。次に、検索から値を取得すると値が変更されます –

答えて

2

エラーを処理していないコードは、あなたがVLookupselrowを見つけ、その後、エラーメッセージを上げることができなかった例というトラップ(またはものは何でもする必要があなたが欲しい)。

は、以下のコードを試してみてください。

If Not IsError(Application.VLookup(selrow, ActiveSheet.Range("A4:B" & lr), 2, False)) Then 
    opening_inventory_today = Application.VLookup(selrow, ActiveSheet.Range("A4:B" & lr), 2, False) 
    ' rest of your code here 

Else 
    MsgBox "VLookup was unable to find " & selrow, vbInformation 
End If 
+1

Shai。私はそれがエラーの理由だとは思わない:) –

+1

私に説明させてください... 'On Error Resume Next'を削除すると、Vlookupはエラーを表示し、' If Not IsError(opening_inventory_today)Then ' :) –

+0

++今のところ意味があります:) –

関連する問題