After playing with it some more, the looping solution needed some work to account for the fact that the user could select multiple columns that might include column 30.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim FindMe As String
Dim Rng As Range
Dim Cll As Range
If Not Intersect(ActiveSheet.Cells.Columns(30), Target.Cells) Is Nothing Then
For Each Cll In Intersect(ActiveSheet.Cells.Columns(30), Target.Cells)
FindMe = Cll.Value
With Sheets("Data").Range("Item_Code")
Set Rng = .Find(What:=FindMe, _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not Rng Is Nothing Then
Cll.Offset(0, 1).Value = Rng.Offset(0, 1).Value
Cll.Offset(0, 3).Value = Rng.Offset(0, 2).Value
Cll.Offset(0, 5).Value = Rng.Offset(0, 3).Value
Cll.Offset(0, 6).Value = Rng.Offset(0, 4).Value
Cll.Offset(0, 7).Value = Rng.Offset(0, 5).Value
End If
End With
Next Cll
End If
End Sub
Bookmarks