2016-04-15 13 views
-1

以下に示すように、VBA(excel)でvlookupをセットアップしました。 vlookupの結果が見つからない場合は空白として返されますが、エラーが発生しました。偽の結果ハンドラを設定するにはどうすればよいですか?vlookup用にfalse resultハンドラを設定する方法

Private Sub users() 

Dim user As String 
Dim result As Variant 

user = Application.UserName 
result = Application.WorksheetFunction.VLookup(user, Worksheets("users").Range("A:B"), 2, False) 

If IsError(result) Then result = "" 


Worksheets("sheet1").Range("C18").Value = result 

End Sub 

利用可能VLookupの2つのバージョンが実際にあり、事前

答えて

0

私は解決策がなく、助けを求めると思ったときに、可能な答えが見つかりました。

Private Sub users() 

Dim user As String 
Dim result As Variant 

user = Application.UserName 

On Error Resume Next 
result = Application.WorksheetFunction.VLookup(user, Worksheets("users").Range("A:B"), 2, False) 
If Err Then 
result = "" 
End If 

Worksheets("発注エントリー").Range("C18").Value = result 

End Sub 
0

でいただきありがとうございます。この場合は、もう一方の方を使用する方がよいでしょう。簡単に検索を

result = Application.VLookup(user, Worksheets("users").Range("A:B"), 2, False) 

に変更してください。

主な違いは、関数がエラーをどのように処理するかです。このバージョンではエラー変数WorksheetFunctionが返されます(これは好きな場合On Error ...で処理することができます)

+0

非常にうまくいきます。それはコードを短くし、次にエラーを再開する必要はありません。 – Maki

関連する問題