Дмитрий(The_Prist) Щербаков, Если судить по Range(Cells(24, 9) & ":" & Cells(60, 9)) из #1 , то в Cells(24, 9) и Cells(60, 9) адреса диапазона, но возможно это опять ошибка falmrom,
Дим, спасибо за вариант. С Evaluate не получалось заставить работать. А еще так можно.
Код
Sub Create_NewModule()
Dim objVBProj As Object, objVBComp As Object, objCodeMod As Object
Dim sModuleName As String, sFullName As String
Dim sProcLines As String
Dim lLineNum As Long
Dim adr$
'добавляем новый стандартный модуль в активную книгу
Set objVBComp = ActiveWorkbook.VBProject.VBComponents.Add(1)
'получаем ссылку на коды модуля
Set objCodeMod = objVBComp.CodeModule
'узнаем количество строк в модуле
'(т.к. VBA в зависимости от настроек может добавлять строки деклараций)
lLineNum = objCodeMod.CountOfLines + 1
'текст всставляемой процедуры
adr = ActiveSheet.Range("a1").CurrentRegion.Address
sProcLines = "[" & adr & "] = [" & adr & "*100]"
sProcLines = "Sub Test()" & vbCrLf & _
sProcLines & vbCrLf & _
"End Sub"
'вставляем текст процедуры в тело нового модуля
objCodeMod.InsertLines lLineNum, sProcLines
Application.Run "Test"
' удаляем добавленный стандартный модуль
objVBComp.Collection.Remove objVBComp
End Sub