Prozedur zur Laufzeit generieren und aufrufen

D

Dieter Nuhr

Hallo,
ich versuche, eine zur Laufzeit generierte Prozedur in einem anderen
workbook aufzurfen.
Leider erhalten ich immer wieder folgende Fehlermeldung:

-> Microsoft Excel kann das Makro ... nicht finden.

Hier mein Code:


###
Sub update_xla()

Dim newWorkbook As Workbook
Dim newWorkbookMod As VBComponent
Dim strTmp As String, strNameOfSheet As String
Dim subName as string

strNameOfSheet = "tmp_update_sheet"
Set newWorkbook = Application.Workbooks.Add
strTmp = ActiveSheet.name
newWorkbook.Sheets(strTmp).name = strNameOfSheet
Set newWorkbookMod =
newWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule)

subName = "a" & Second(Now)

With newWorkbookMod.CodeModule
.InsertLines .CountOfLines + 1, "Sub " & subName & "()"
.InsertLines .CountOfLines + 1, " Msgbox ""Hello
World!"",vbInformation,""Message Box Title"""
.InsertLines .CountOfLines + 1, "End sub" & Chr(13)
End With
Debug.Print "--"
Debug.Print newWorkbook.name
Debug.Print subName
application.Run subName

end Sub
###


Vielleicht seh ich nur den Wald vor lauter Bäumen nicht mehr.
Vielen Dank im voraus für die Hilfe.
Dieter
 
Top