RAN, нашла тут пример.
Чуть подправила его:
[vba]Код
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Call fnGetActiveObjectPath
End Sub
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Call fnGetActiveObjectPath
End Sub
Private Sub TextBox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Call fnGetActiveObjectPath
End Sub
Sub fnGetActiveObjectPath()
Dim obj As Object, sPath As String
sPath = Me.Caption
Set obj = Me.ActiveControl
Do
If obj Is Nothing Then
sPath = "Nothing"
Exit Do
ElseIf TypeOf obj Is MSForms.Frame Or TypeOf obj Is MSForms.Page Then
sPath = obj.Name
Set obj = obj.ActiveControl
ElseIf TypeOf obj Is MSForms.MultiPage Or TypeOf obj Is MSForms.TabStrip Then
sPath = obj.Name
Set obj = obj.SelectedItem
Else ' must be Tab or native control
sPath = obj.Name
Exit Do
End If
Loop
MsgBox sPath
End Sub
[/vba]