ник: Hush
Получается громоздко... но работает.. попробовал с файла не пошло почему-то.. (хотя для меня оптимальный вариант) .AddFromString что-то тоже.. withevent - не пробовал...
хороший сайтик нашел после 3 часов копания в инете http://www.cpearson.com/excel/vbe.aspx
Dim VBProj As VBIDE.VBProject
Dim VBComp As VBIDE.VBComponent
Dim CodeMod As VBIDE.CodeModule
Dim LineNum As Long
Const DQUOTE = """" ' one " character
Set VBProj = Ex.ActiveWorkbook.VBProject
Set VBComp = VBProj.VBComponents("Лист1")
Set CodeMod = VBComp.CodeModule
With CodeMod
LineNum = .CreateEventProc("Change", "Worksheet")
LineNum = LineNum + 2
.InsertLines LineNum, "Dim i As Long, strLiter As String"
LineNum = LineNum + 1
.InsertLines LineNum, "On Error Resume Next"
и т.д. слава богу что процедурка маленькая;)