irgendwie hänge ich gerade an einer hoffentlich Kleinigkeit, zu der ich keine Lösung finde.
Aufgabe:
Ich habe eine Arbeitsmappe in Form einer .xlsm Datei geöffnet und rufe hier über die eigene Ribbonbar eine Aktualisierungsroutine (Sub) auf.
Um die Aktualisierung dieser Arbeitsmappe durchführen zu können, muss zuerst eine andere Arbeitsmappe mit der dort dazugehörigen VBA-Routine aktualisiert werden.
Vorgehen ist somit folgendes:
1. Diese Arbeitsmappe öffnen, weil der Anwender mit dieser Arbeiten muss
2. Addin-Datei öffnen (.xlam)
3. Die andere Arbeitsmappe öffnen, die zuerst aktualisiert werden muss
4. Aktualisierung der anderen Arbeitsmappe starten
5. Eigene Aktualisierung fortsetzen (mit den Daten aus der zuvor aktualisierten Mappe).
Problem:
Schritt 5 wird leider nicht mehr ausgeführt. Bis Schritt 4 funktioniert alles wunderbar. Den Aktualisierungscode des anderen Addins würde ich nur sehr ungern in diese Arbeitsmappe umziehen, da ich dann bei Änderungen der anderen Addin-Datei alles in dieser Datei mit anpassen muss.
Der Code sieht aktuell auszugsweise so aus:
Sub Aktualisierung()
dim WB1 as workbook, wbRPMakro1 as workbook,
dim strDateinameAddin as string, strDateiname as string
dim Par1 as string, Par2 as string
strDateiname = Thisworkbook.Path & "\Bob.xlsx"
strDateinameAddin = Thisworkbook.Path & "\BobsAddin.xlam"
Set WB1 = Workbooks.Open(strDateiname, True, True) 'Zu aktualisierendes Workbook öffnen
Set wbRPMakro1 = Workbooks.Open(strDateinameAddin, True, True) 'Addin laden, das für die _
Aktualisierung von WB1 benötigt wird
DoEvents
'Aktualisierungsroutine in wbRPMakro1 für das WB1 starten
Application.Run "AktualisierungReadOnly", Par1, Par2, WB1
'.... Weiterer Code zur Aktualisierung dieses Workbooks (ThisWorkbook)
'---> Diese Zeilen werden nicht mehr ausgeführt
End Sub
Was mach ich hier falsch bzw. was muss ich machen, dass das Ganze funktioniert?