|
[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
|
|