Anzeige
Archiv - Navigation
1548to1552
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

Daten aus anderem EXcel importieren

Daten aus anderem EXcel importieren
28.03.2017 11:59:58
Major
Hallo zusammen,
habe ich Archiv schon ähnliche Themen gefunden. Aber weder verstehe ich die Codes, noch sind sie auf meine Bedürfnisse angepasst.
Daher probiere ich es hier nochmal...vermutlich können Codeschnipsel aus älteren Beiträgen verwendet werden.
In ein Excel möchte ich aus x-beliebig vielen Exceldateien aus einem bestimmten Tabellenblatt einen bestimmten Ausschnitt importieren.
Der Ordner in dem sich die ca. 9 zu importierenden Exceldateien befinden hat immer den gleichen Namen: "Aktuelle Woche"
Die Exceldateien darin haben beliebige Namen, müssen jedoch alle immer genutzt werden. Geht das so? Oder müssen die Dateien darin immer eindeutige Namen haben?
Das gewünschte Tabellenblatt hat in allen 9 Dateien auch immer den gleichen Namen ..."Matrix"
Der zu importierende Bereich in diesem Tabellenblatt "Matrix" ist ebenfalls immer... Von spalte A bis T / Zeile 1 bis letzte, nicht leere, Zeile.
Praktischerweise sollte das Makro beim Öffnen der Datei durchführen.
Könnt ihr hier einen Ansatz bieten?
Vielen Dank euch!
Gruss Major

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ansatz
29.03.2017 16:33:11
Michael
Hallo!
Sub a()
Const PFAD$ = "C:\Aktuelle Woche\"
Const WsQ$ = "Matrix" 'Quell-Blatt
Dim WbZ As Workbook: Set WbZ = ThisWorkbook
Dim WbQ As Workbook
Dim WsZ As Worksheet: Set WsZ = WbZ.Worksheets("Tabelle1") 'Ziel-Blatt
Dim Mappe
Application.ScreenUpdating = False
Mappe = Dir(PFAD & "*.xlsx", vbNormal)
Do Until Mappe = vbNullString
Set WbQ = Workbooks.Open(Mappe)
With WbQ.Worksheets(WsQ)
'A1:Tx, x = letzte gefüllte Zelle in T
.Range("A1:T" & .Cells(.Rows.Count, 20).End(xlUp).Row).Copy
With WsZ
'Einfügen ab nächster freier Zelle in A des Zielblattes
.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial _
(xlPasteValuesAndNumberFormats)
End With
End With
WbQ.Close False
Mappe = Dir
Loop
Set WbZ = Nothing
Set WbQ = Nothing
Set WsZ = Nothing
End Sub
LG
Michael
Anzeige
Na? Gefällt der Ansatz?! Gib Bescheid, owT
30.03.2017 22:48:04
Michael
AW: Na? Gefällt der Ansatz?! Gib Bescheid, owT
31.03.2017 14:02:03
Major
Hallo,
noch funtkioniert es nicht, das liegt aber wohl eher an meiner Unfähigkeit, als an deinem Code.
Ich melde mich auf jeden Fall, sobald es funktioniert.
Gruss Major
AW: Na? Gefällt der Ansatz?! Gib Bescheid, owT
31.03.2017 14:19:51
Major
Hallo,
funtkioniert das auch wenn die Quelldatei eine "xlms" ist und dort mit workbook_open zunächst diverse makros ausgeführt werden?
Gruss Major
Grundsätzlich schon, allerdings...
31.03.2017 19:51:42
Michael
...wird im o.a. Code explizit nicht (!) nach .xlsm gesucht, d.h. ändere entsprechend diese Zeile
Mappe = Dir(PFAD & "*.xlsx", vbNormal)
auf
Mappe = Dir(PFAD & "*.xls*", vbNormal)
Dann werden im Ordner sämtliche Excel-Dokumenttypen erfasst!
LG
Michael
Anzeige
AW: Grundsätzlich schon, allerdings...
03.04.2017 13:36:08
Major
Hallo,
also dieser Code funktioniert in dieser Art nicht...er spuckt aber auch keinerlei Fehlermeldung aus...
Sub a()
Const PFAD$ = "G:\Aktuelle Woche_Einzelne Excel hier einfügen"
Const WsQ$ = "Blatt_A" 'Quell-Blatt
Dim WbZ As Workbook: Set WbZ = ThisWorkbook
Dim WbQ As Workbook
Dim WsZ As Worksheet: Set WsZ = WbZ.Worksheets("Blatt_B") 'Ziel-Blatt
Dim Mappe
Application.ScreenUpdating = False
Mappe = Dir(PFAD & "*.xls*", vbNormal)
Do Until Mappe = vbNullString
Set WbQ = Workbooks.Open(Mappe)
With WbQ.Worksheets(WsQ)
'A1:Qx, x = letzte gefüllte Zelle in Q
.Range("A1:Q" & .Cells(.Rows.Count, 17).End(xlUp).Row).Copy
With WsZ
'Einfügen ab nächster freier Zelle in A des Zielblattes
.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial _
(xlPasteValuesAndNumberFormats)
End With
End With
WbQ.Close False
Mappe = Dir
Loop
Set WbZ = Nothing
Set WbQ = Nothing
Set WsZ = Nothing
End Sub
Habt ihr Tipps, was ich falsch mache?
Danke!
Gruss Major
Anzeige
AW: Grundsätzlich schon, allerdings...
03.04.2017 15:22:01
Jürgen
Hallo Michael,
ist die Constante "Pfad$" und "WSQ$" im Abruf als "Pfad" und "WSQ" richtig?
Gruß
Jürgen
AW: Grundsätzlich schon, allerdings...
04.04.2017 14:37:04
Major
Hallo Michael,
was meinst du damit?
Sorry verstehe ich nicht.
Gruss Major

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige