vielleicht könnt ihr mir bei diesem Problem helfen:
Ich habe ein Add-In (xlam) welches mir auf Knopfdruck in die aktive Arbeitsmappe ein neues Tabellenblatt "Auswertung1" einfügt. In dem Tabellenblatt befindet sich ein Diagramm.
Die Bezüge in dem Diagramm sind dynamisch. Die Werte für X und Y beziehen sich auf lokale Namen, die in dem Tabellenblatt "Auswertung1" angelegt wurden.
LokalTabX =
BEREICH.VERSCHIEBEN(INDIREKT(VERKETTEN("Auswertung1!";ADRESSE(2;2);":";ADRESSE(2;6)));0;0;;5-ZÄHLENWENN(INDIREKT(VERKETTEN("Auswertung1!";ADRESSE(2;2);":";ADRESSE(2;6)));""))
LokalTabY =
BEREICH.VERSCHIEBEN(INDIREKT(VERKETTEN("Auswertung1!";ADRESSE(3;2);":";ADRESSE(3;6)));0;0;;5-ZÄHLENWENN(INDIREKT(VERKETTEN("Auswertung1!";ADRESSE(2;2);":";ADRESSE(2;6)));""))
Mein code zum einfügen lautet:
Public Sub Auswertung(ByVal Control As IRibbonControl)
' MsgBox "Auswertung einfügen..."
Dim PfadVorlagen, VorlageAuswertung, WahlAuswertung, Aktuell, PfadAktuell As String
PfadVorlagen = "C:\Users\" & Environ("username") & "\Desktop\Testumgebung\Vorlagen\"
VorlageAuswertung = "Auswertung_Lokal.xlsx"
WahlAuswertung = Array("Auswertung1", "Auswertung2", "Auswertung3")
i = 0
Aktuell = ActiveWorkbook.Name
PfadAktuell = ActiveWorkbook.Path & "\"
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Workbooks.Open PfadVorlagen & VorlageAuswertung
Workbooks(VorlageAuswertung).Sheets(WahlAuswertung(i)).Copy after:=Workbooks(Aktuell). _
Worksheets(Workbooks(Aktuell).Worksheets.Count)
Workbooks(VorlageAuswertung).Close savechanges = False
ActiveWorkbook.Save
Workbooks(Aktuell).Close savechanges = True
Workbooks.Open Filename:=PfadAktuell & Aktuell, UpdateLinks:=3
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Nun zum Problem:Wenn ich eine Excel-Datei von einem Netzlaufwerk öffne und das Script ausführe, fügt das Script erfolgreich das Tabellenblatt "Auswertung1" ein. Nach dem erneuten öffnen
Workbooks.Open Filename:=PfadAktuell & Aktuell, UpdateLinks:=3
werden allerdings die Bezüge im Diagramm nicht aktualisiert. Der Bereich der Variablen X und Y verändert sich nicht trotz bereich.verschieben. Erst wenn ich die Excel-Mappe händisch schließe und händisch öffne, ist mein Diagramm wieder dynamisch und alles funktioniert so wie es soll (sehr merkwürdig).
Anders herum, wenn ich die Zeile Worbook.open... auskommentiere, und die Excel-Mappe von vornherein händisch öffne, funktioniert es auf Anhieb. Meine Diagramme sind dynamisch.
Es muss also einen Unterschied geben zwischen workbook.open und händischem öffnen der Mappe. Kurioserweise habe ich das Phänomen nur auf einem eingebundenen Netzlaufwerk. Liegt meine Ziel-Mappe lokal auf einem Laufwerk, dann geht der Code so wie er ist.
Kann mir jemand erklären, woran das liegt?
Vielen dank!
Nils