|
下記のコードを使用していますが、G列に記載した数字が
参照先(消耗品)に無い場合、#N/Aとなり、困っています。
出来れば、参照先に無い場合、「該当なし」というメッセージと
キャンセル状態もしくは空欄のままとしたいのですが、
さっぱり上手くいきません。
ご教授の程、宜しくお願い致します。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Dim r As Range
Set rng = Intersect(Target, Range("$G$9:$G$600"))
If Not rng Is Nothing Then
Application.EnableEvents = False
For Each r In rng
If r.Value <> "" Then
r.Offset(, -2).Value = Application.VLookup(r, Sheets("消耗品").Range("$B$3:$L$200"), 2, False)
r.Offset(, -1).Value = Application.VLookup(r, Sheets("消耗品").Range("$B$3:$L$200"), 3, False)
r.Offset(, 1).Value = Application.VLookup(r, Sheets("消耗品").Range("$B$3:$L$200"), 4, False)
r.Offset(, 2).Value = Application.VLookup(r, Sheets("消耗品").Range("$B$3:$L$200"), 5, False)
r.Offset(, 3).Value = Application.VLookup(r, Sheets("消耗品").Range("$B$3:$L$200"), 6, False)
r.Offset(, 4).Value = Application.VLookup(r, Sheets("消耗品").Range("$B$3:$L$200"), 7, False)
r.Offset(, 6).Value = Application.VLookup(r, Sheets("消耗品").Range("$B$3:$L$200"), 8, False)
r.Offset(, 8).Value = Application.VLookup(r, Sheets("消耗品").Range("$B$3:$L$200"), 9, False)
r.Offset(, 12).Value = Application.VLookup(r, Sheets("消耗品").Range("$B$3:$L$200"), 10, False)
r.Offset(, 13).Value = Application.VLookup(r, Sheets("消耗品").Range("$B$3:$L$200"), 11, False)
Else
r.Offset(, -2).ClearContents
r.Offset(, -1).ClearContents
r.Offset(, 1).ClearContents
r.Offset(, 2).ClearContents
r.Offset(, 3).ClearContents
r.Offset(, 4).ClearContents
r.Offset(, 6).ClearContents
r.Offset(, 8).ClearContents
r.Offset(, 12).ClearContents
r.Offset(, 13).ClearContents
End If
Next
Application.EnableEvents = True
Set rng = Nothing
End If
End Sub
|
|