図形のテキストボックスには、そういうイベントはありませんから、
提示のあった方法が適当です。
二回目の投稿を拝見する前に書いてしまったので、
参考までにアップしておきます。
REM アクティブシートのすべてのTextBoxに、
REM 同一のマクロtestを登録する。
Sub main()
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
If shp.Type = msoTextBox Then
shp.OnAction = "test"
End If
Next
End Sub
REM 登録するマクロの例
Sub test()
Dim shp As Shape
Dim n As String
n = Application.Caller
Set shp = ActiveSheet.Shapes(n) '自分自身を指すshapeオブジェクト
'textの修正例(文字列の最後に"mod"を連結する例)
shp.TextFrame2.TextRange.Characters.Text = _
shp.TextFrame2.TextRange.Characters.Text & "mod"
End Sub