Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mehrere Dateien in einem Ordner öffnen

Mehrere Dateien in einem Ordner öffnen
27.08.2019 17:18:36
Stefan
Guten Tag zusammen,
ich bräuchte mal eure Hilfe. Ich möchte gerne Daten aus mehreren Dateien (die alle die selbe Struktur haben und in einem Ordner liegen) zusammen rechnen und in eine neu erstellte Zieldatei einfügen. Das Funktioniert soweit auch, nur würde ich gerne vermeiden das man per Application.GetOpenFilename die Dateien auswählen muss. Ich hätte es gerne so das man einfach den Pfad zum Ordner in eine InputBox eingibt und dann der weitere Code ausgeführt wird. Das funktioniert so mit mienem Code leider nicht. Ich kriege dann diese Meldung: "Typen Unverträglich" und der Debugger markiert die LBound funktion
Mein Code sieht wie folgt aus. (Seid nicht zu forsch mit meinem Code, dass ist das erste mal das ich mit VBA arbeite hahaha)
Sub LiabillityZusammenführenV4()
Dim pfad As Variant
Dim i As Integer
Dim Quelldatei As Worksheet
Dim Zieldatei As Workbook
Dim time1 As Double
Dim template1 As Variant
template1 = InputBox("Gib den Pfad incl. Namen und Endung des templates ein")
pfad = InputBox("Gibt den Pfad zum Ordner an in dem alle Dateien liegen")
'Bei Abbruch ist der Rückgabewert = False (Typ: "Boolean")
If TypeName(pfad) = "Boolean" Then
Exit Sub
End If
'Zieldatei festlegen
Set Zieldatei = Workbooks.Add(template1)
'keine aktualisierung des Displays
Application.ScreenUpdating = False
Application.DisplayAlerts = False                                  'Unterdrückung der
Meldung von "Es befindet sich..."
time1 = Timer
'Öffnen der Dateien
For i = LBound(pfad) To UBound(pfad)
Set Quelldatei = Workbooks.Open(pfad(i)).Worksheets(2)
With Quelldatei
.Range("C6:Z74").Copy
Zieldatei.Worksheets(2).Range("C6").PasteSpecial _
Paste:=xlPasteSpecialOperationAdd, Operation:=xlAdd, SkipBlanks:=True, _
Transpose:=False
.Parent.Close False
End With
Next i
Debug.Print "Range2Array braucht " & Timer - time1 & " Sekunden"
Application.ScreenUpdating = True
Application.DisplayAlerts = True
If MsgBox("Soll die Datei Schreibgeschützt gespeichert werden?", vbYesNo) = vbYes Then
ActiveWorkbook.SaveAs ReadOnlyRecommended:=True
ActiveWorkbook.Close
Else
End If
End Sub

LG,
Stefam
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Dateien in einem Ordner öffnen
27.08.2019 17:31:13
onur
LBound und UBound geben die Unter- bzw Obergrenze eines Arrays an - aber "Pfad" ist kein Array, sondern, wie der Name schon andeutet, ein Pfad.
AW: Mehrere Dateien in einem Ordner öffnen
27.08.2019 17:49:38
Stefan
Danke für die Antwort.
Wie würde ich das denn dann machen?
AW: Mehrere Dateien in einem Ordner öffnen
27.08.2019 17:53:45
onur
Guckst du hier:
https://www.makro-excel.de/2017/01/31/dateinamen-eines-verzeichnisses-mit-vba-auslesen-und-in-excel-schreiben/
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige