Это немного сложно, но с вашей репутацией, я уверен, вы не боитесь осложнений:)
Прежде всего, в вашем файле Excel, убедитесь, что вы ссылаетесь на VBIDE в своей справке, используя следующее:
1. Для работы вам необходим VBIDE-справочник:
1.a. Вы можете запустить следующий код в вашем немедленном окне, чтобы прикрепить ссылку:
ThisWorkbook.VBProject.References.AddFromGuid _
GUID:="{0002E157-0000-0000-C000-000000000046}", _
Major:=5, Minor:=3
1.b. Или вы можете прикрепить "Microsoft Visual Basi c для расширяемости приложений 5.3" из ваших Инструменты \ Ссылки
2. После того, как ссылка будет прикреплена, вы можете добавить в свою рабочую книгу следующую функцию:
Const DBLQuote = """"
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Dim Line As String
With ThisWorkbook.VBProject.VBComponents(Sh.Name).CodeModule
Line = .CreateEventProc("SelectionChange", "Worksheet") + 1
.InsertLines Line, _
"Msgbox " & DBLQuote & "Selection Changed !" & DBLQuote & ",vbOkOnly"
'----> You can put your code here or call your function
End With
End Sub
Чтобы получить это, мне пришлось глубоко копать, но, слава Богу, это работает. Для получения дополнительной информации вы можете go здесь:
http://www.cpearson.com/Excel/vbe.aspx для VBE
Надеюсь, это поможет вам!