| 
    
     |  | VLOOKUP関数を使うなら、戻り値は Rangeオブジェクト にはなりません。↓ --------------------------------------------------------------
 ヘルプから抜粋
 
 指定された 範囲 の左端の列で特定の値を検索し、範囲 内の対応するセルの値を
 返します。
 --------------------------------------------------------------
 なので 変数の型 も Setステートメント の使用も間違いということになります。
 >商品名検索.商品名.Value
 が何なのか全く不明ですが、仮にWorksheets("商品マスタ")の
 "商品コード"と名前を定義したセル範囲であるとすれば・・
 
 Private Sub 設定_change()
 Dim MyV As Variant
 
 With Worksheets("商品マスタ")
 MyV = Application _
 .VlookUp(.Range("商品コード").Value, .Range("J3:K65536"), _
 2, False)
 End With
 If IsError(MyV) Then
 MsgBox "検索値は見つかりません", 48
 Else
 MsgBox MyV
 End If
 End Sub
 
 ぐらいかな・・。
 
 |  |