Seit einigen Tagen tüftle ich nun an der Automatisierung eines Prozesses in der Arbeit. Hierbei geht es darum, mehrere Kalkulation aus unterschiedlichen Dateien auf ein Arbeitsblatt zusammenzuführen. Die Kalkulationen sind nahezu identisch, es ändern sich lediglich nur die Zahlen und der Name der Excel-Datei auf die zugegriffen wird. Mein bisheriger Lösungsweg (erstellt mit der Aufnahmefunktion) funktioniert, lediglich müssen jedesmal die Tabellenblätter händisch von der Bezugsdatei in meine automatisierte Version kopiert werden.
Frage: Gibt es eine Möglichkeit, Arbeitsmappen aus anderen Excel-Dateien zu kopieren und dem Anwender die Möglichkeit zu geben, ein jedes Mal die jeweilig benötigte Datei anzugeben. Sprich den Namen der Datei nicht im Code zu verhakstücken, sondern über ein bspw. Pop-Up-Fenster, da sich die Bezugsdatei ja immer ändern kann.
Mein bisheriger Code schildert sich wie folgt:
Sub Auswertung_Fertigung_Alle()
Sheets("LF1 Fertigunskosten").Select
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("B11:AC23").Select
Selection.Copy
Sheets("Auswertung Fertigung").Select
Range("B6").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Columns("C:N").Select
Columns("C:N").EntireColumn.AutoFit
Range("B6:B33").Select
Application.CutCopyMode = False
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Sheets("LF2 Fertigungskosten").Select
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("B11:AC23").Select
Selection.Copy
Sheets("Auswertung Fertigung").Select
Range("P6").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Columns("P:AB").Select
Columns("P:AB").EntireColumn.AutoFit
Range("P6:P33").Select
Application.CutCopyMode = False
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
.... analog für bis zu zwei weitere Arbeitsmappen.
Ich wäre euch sehr dankbar, wenn Ihr mir einen Hint geben könntet!
Vielen Dank im Voraus!
Cem :)