Excel VBA - VBA-gesteuerte Manipulation von VBA-Co
31.10.2015 15:38:30
VBA-Co
habe ein Problem mit der VBA-gesteuerten Manipulation von VBA-Code in einem VBA-Modul.
Hierzu habe ich das Problem auf ein möglichst einfaches Beispiel reduziert:
Per VBA-Code verändere ich eine Funktion (erste Änderung).
Der erste Aufruf dieser Funktion liefert dann das erwartete Ergebnis.
Dann verändere ich die Funktion (zweite Änderung).
Der zweite Funktionsaufruf liefert das erste Ergebnis, die zweite Änderung in wird ignoriert.
Was muss ich tun, damit die zweite Änderung berücksichtigt wird?
Muss nach der Änderung eventuell irgendein Update/Refresh erfolgen?
Weitere Hinweise: Das Problem tritt auch bei Excel 2010 auf.
Habe auch mal testweise den Virusscanner deaktiviert - ohne Erfolg.
Grüße und vielen Dank im Voraus!
Harry
Function myTest() As Variant ' wichtig: dies ist die erste Zeile im VBA-Modul!
' diese Zeile wird durch den VBA-Code ersetzt ...
End Function
Sub Start() ' Start-Prozedur
Dim Result As Double: Result = 0
Application.VBE.ActiveCodePane.CodeModule.replaceline 2, "myTest = 2"
MsgBox myTest ' ergibt 2, wie erwartet
' sind an dieser Stelle eventuell weitere Schritte erforderlich? (Update/Recompile)
Application.VBE.ActiveCodePane.CodeModule.replaceline 2, "myTest = 3"
MsgBox myTest ' ergibt 2 anstelle von 3
End Sub