Frage an die Profis
Born
ich versuche per Makro, dass innerhalb eines Addins gestartet wird, den Code eines AddIn-Moduls in eine Tabelle einer Arbeitsmappe zu kopieren. Nach einigem Testen habe ich folgendes Makro dazu erstellt (unter Mithilfe von Franz aus dem Forum):
Sub TabCodeCopy_2()
Dim wbQuelle As Workbook, wksQuelle As Worksheet
Dim wbZiel As Workbook, wksZiel As Worksheet
Dim strCode As String
Set wbQuelle = ThisWorkbook
Set wksQuelle = wbQuelle.Worksheets("HT")
Set wbZiel = Workbooks("091106_Terminübersicht.xls")
Set wksZiel = wbZiel.Worksheets("Tabelle1")
With wbZiel.VBProject.VBComponents(wksZiel.CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With
'Copy-Bereich
For i = 1 To wbQuelle.VBProject.VBComponents(wksQuelle.CodeName).CodeModule.CountOfLines
wbZiel.VBProject.VBComponents(wksZiel.CodeName).CodeModule.InsertLines i, wbQuelle.VBProject. _
VBComponents(wksQuelle.CodeName).CodeModule.Lines(i, 1)
Next
End Sub
Benutze ich statt des Codes ab "Copy-Bereich" eine der folgenden Varianten, so stürzt mir Excel ab:
Variante 1:
wbQuelle.VBProject.VBComponents(wksQuelle.CodeName).Export ("mbo_Modul.bas")
wbZiel.VBProject.VBComponents(wksZiel.CodeName).CodeModule.AddFromFile ("mbo_Modul.bas")
Variante 2:
For i = 1 To wbQuelle.VBProject.VBComponents(wksQuelle.CodeName).CodeModule.CountOfLines - 1
wbZiel.VBProject.VBComponents(wksZiel.CodeName).CodeModule.AddFromString wbQuelle.VBProject.VBComponents(wksQuelle.CodeName).CodeModule.Lines(i, 1)
Next
Kennt jemand aus dem Forum, den Grund, warum Excel abstürzt? Es ist keinerlei Blatt-, Arbeitsmappen- oder VB-Projekt-Schutz aktiv.
Vielen Dank,
M. Born