You could do something like this
Sub test()
Dim newBook As Workbook
Dim newModule As Object
Set newBook = Workbooks.Add
Set newModule = newBook.VBProject.VBComponents.Add(1).CodeModule
newModule.AddFromString myRoutineString
End Sub
Function myRoutineString() As String
myRoutineString = "Sub test()"
myRoutineString = myRoutineString & vbCr & " MsgBox ""hello"""
myRoutineString = myRoutineString & vbCr & "End Sub"
End Function
Alternalty, you could get the argument for AddFromString by reading an existing routine using .CodeModule.Lines
Bookmarks