Guten Morgen,
immer wenn ich in Excel nicht weiter weiß, suche ich über Google nach Hilfestellungen. Häufig kann ich auf Lösungen aus diesem Forum zurückgreifen, die ich anpassen kann bzw. die mir einenen Hinweis in die richtige Richtung geben. Daher schon mal Danke an die ganzen Hilfen, die ich aus Euren Beiträgen "räubern" konnte.
Aktuell habe ich jedoch ein Problem, für das ich in Eurem Forum und auch den englisch sprachigen Foren keine Lösung finden konnte. Ich vermute, dass hier ein Grundverständins von VBA notwendig ist, das man einfach haben muss. Und das über ein einfaches zusammennageln von Befehlszeilen hinausgeht.
Unter
https://www.herber.de/bbs/user/151751.xlsm
habe ich meine Beispieldatei hochgeladen. Über die sehr anfängerhaft angelegten Buttons im Tabellenblatt "Steuerungselemente" beabsichtige ich zum einen unsere Haushaltsdaten einigermaßen komfortabel aufzubereiten. Da es über 10.000 Zeilen sind, musste ich die Daten unter "Planansätze" ordentlich zusammenstauchen. Ich Hoffe jedoch, dass die Grundfunktionen nachvollziehbar bleiben.
Die ersten Buttons laufen fehlerfrei durch, bei den Buttons zur Erstellung der neuen Mappen habe ich jedoch teilweise Probleme. Über diese Buttons sollen die Pivot Diagramme und Pivot Tabellen eine neue Exceldatei kopiert werden. Der Dateiname und Speicherort ist per VBA festgelegt. So weit hat alles funktioniert. Beim Öffnen der neu erstellten Datei habe ich jedoch festgestellt, dass die Pivot Tabellen und Diagramme weiterhin auf die ürsprüngliche Datei verweisen, anstelle auf die mit übertragene Datenquelle. Da die Diagramme auf unsere Homepage sollen, sind Dateiverknüpfungen natürlich suboptimal.
Für die Entferung der Verknüpfung habe ich im Internet auch eine Lösung gefunden und diese unter Private Sub AnpassungDatenquelle() eingefügt. Wenn ich diese Zeilen direkt in den neuen Excel Mappen ausführe, werden die Verknüpfungen zur Ursprungsdatei gekappt und die Datenquellen der Pivots sauber angepasst. Im nächsten Schritt habe ich versucht die Anpassung der Datenquelle direkt in die Befehlszeilen des Kopiervorgangs einzufügen. Theoretisch sollte das ja kein Problem sein, da ich ja bereits eine Schleife zur Anpassung der Formatierung ausführe. Den zusammengefassten Code habe ich mit dem Button "Test Funktionen" verknüpft. Beim Ausführen kommt jedoch jedes Mal der Laufzeitfehler 5 Ungültiger Prozeduraufruf oder ungültiges Argument.
Ich vermute mal, das hat jetzt nicht unbedingt etwas mit dem Code an sich zu tun, sondern damit, dass ich die von mir gewünschte Aktualisierung der Datentabelle nicht so oder an dieser Stelle erreichen kann. Fehlender Dateipfad? Problem mit ActiveWorkbook an dieser Position? Als absoluter VBA Anfänger steh ich hier auf dem Schlauch. Wahrscheinlich ist es nur eine Kleinigkeit, die man jedoch über VBA wissen muss.
Ich hoffe Ihr könnt anhand meiner Beschreibung und dem Code einigermaßen nachvollziehen wo ich nicht weiter komme. Schon mal vorab vielen Dank für Eure Zeit und Bemühungen einem VBA Anfänger weiter zu helfen.