Hallo,
mein Ziel ist es ein Makro automatisch auf mehrere Dateien, die im selben Ordner sind, anzuwenden (das Makro erstellt ein einfaches Diagramm aus einer Tabelle) und dann alle Diagramme in einer Masterfile in ein Diagramm einzufügen.
Bis jetzt sieht der code so aus:
'Diagramm erstellen
ActiveSheet.Shapes.AddChart2(227, xlLine).Select
ActiveChart.SetSourceData Source:=Range( "'Tabelle1'!$F$3:$F$722")
ActiveChart.FullSeriesCollection(1).XValues = "='Tabelle1'!$B$3:$B$722"
'Diagramm in Masterfile kopieren
ActiveChart.ChartArea.Select
Application.CutCopyMode = False
ActiveChart.ChartArea.Copy
Windows("Masterfile Diagramm.xlsx").Activate
ActiveSheet.ChartObjects("summary").Select
ActiveChart.Paste
den will ich auf eine liste von Dateien anwenden, die unterschiedlich lang sein kann.. z.B. datei1, datei2 und datei3 , aber vielleicht auch datei1, datei2, datei3, datei4 und datei5. Also ich kann auch nicht immer alle Dateinamen in das Makro schreiben, sondern müsste das mit einer Schleife lösen. Könnte da sowas in der Art funktionieren?
for i = 1 to 20
workbooks.open filename:= "Datei" & i
next i
Ich will dabei nicht das workbook von den jeweiligen dateien bearbeiten also will keinen sub Workbook_Open() oder ähnliches reinschreiben, sondern nur ein makro in meiner persönlichen Arbeitsmappe ausführen.. ist sowas möglich?
Und dann noch was anderes: Wenn ich das Diagramm aus der Ursprungsdatei in die Masterfile kopiere will ich die gerade hinzugefügte Datenreihe des Diagramms neu benennen in den Namen der Ursprungsdatei. Bin da mit
ActiveChart.FullSeriesCollection(1).Name
nicht weit gekommen, da sich erstens die zahl der Datenreihe ändert (wie kann man sich immer auf die zuletzt hinzugefügte Datenreihe beziehen?) und weil ich es nicht hinbekomme den Code mit einem variablen Namen zu schreiben.. Vielleicht kann man da am Anfang des Makros mit einer Stringvariable den Dateinamen "kopieren" und am Ende als Name der gerade neu hinzugefügten Datenreihe setzen?
Danke für eure Hilfe,
Gruß
|