You could put this in the sheet's code module

[VBA]Private Sub Worksheet_Change(ByVal Target As Range)
Dim keyRange As Range
Set keyRange = Range("A1")

On Error Resume Next
Set keyRange = Application.Intersect(keyRange, keyRange.Precedents)
On Error GoTo 0

If Not Nothing Is Application.Intersect(Target, keyRange) Then
UserForm1.Caption = keyRange.Cells(1, 1).Text
End If
End Sub[/VBA]