Private Sub Worksheet_Change(ByVal Target As Range)
Dim cmt As Comment
Dim dvRange As Range, r As Range
Set dvRange = Sheets("Sheet2").Range("D4:D7") 'Change to your sheet name and range
If Not Intersect(Target, Range("H4")) Is Nothing Then 'Change to your Data Validation range
For Each r In dvRange
If Target.Value = r.Value Then
Target.ClearComments
Target.AddComment.Text r.Comment.Text
End If
Next r
End If
End Sub