Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1636to1640
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Auf Tabellen anderer Excel-Dateien zugreifen

Auf Tabellen anderer Excel-Dateien zugreifen
16.08.2018 17:20:51
Cem
Hallo liebe Forum-Mitglieder!
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 :)

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auf Tabellen anderer Excel-Dateien zugreifen
16.08.2018 17:30:59
Klexy
Zuerst: Arbeitsmappen und Excel-Dateien sind ein und dasselbe. Du meinst Arbeitsblätter und Excel-Dateien.
Deine Beschreibung ist etwas wirr, aber ich vermute, du willst viele unterschiedlich benannte, aber identisch strukturierte Dateien (nennen wir sie A1, A2, A3...) in einer zentralen Verwurstungsdatei (nennen wir sie Z) zusammenführen.
Wenn das so ist, geh von der einzelnen A-Datei aus. Die Zieldatei Z wird immer dieselbe sein, was den Code stark vereinfachen dürfte, da du dann die Ausgangsdatei nur mit "ThisWorkbook" und nicht mit einem ständig veränderten Namen ansprechen müsstest.
Am besten lädst du die Z-Datei und eine A-Date hoch. Damit machst du es den Beantwortern einfacher, dir zu helfen.
Anzeige

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige