| 
    
     |  | [E2]セルにコードを入力するのでなく、すでに入っていたコードを消去してから あたらしいコードを入力する人もいるかもしれないので、
 [E2]セルがクリアされたときのことも考慮して、
 こうしておいた方が親切かも?
 
 Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address(0, 0) <> "E2" Then Exit Sub
 
 Dim Rg As Range
 Dim m As Variant
 With Worksheets("詳細") '別シートのコード照合セル範囲
 Set Rg = .Range("E2", .Cells(.Rows.Count, "E").End(xlUp))
 End With
 Application.EnableEvents = False
 If IsEmpty(Target) Then
 Target.Offset(1).ClearContents
 Else
 m = Application.Match(Target, Rg, 0) 'Match関数で「詳細」シート検索
 If IsNumeric(m) Then
 Target.Offset(1).Value = Rg.Item(m, 2).Value
 Else
 Target.Offset(1).ClearContents
 MsgBox "入力されたコードはありません"
 End If
 End If
 Application.EnableEvents = True
 
 End Sub
 
 
 |  |