Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1544to1548
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

Zellen aus mehreren Dateien einlesen

Zellen aus mehreren Dateien einlesen
27.02.2017 13:05:07
Luca
Hallo zusammen,
folgende Zielvorgabe:
Ein Ordner enthält ca. 150 *.xlsx Dateien gleichen Aufbaus. Es soll ein Dokument erstellt werden, dass die Werte der Zellen B2 und c26:s26 der ersten Datei spaltenweise in Zeile 1 nebeneinander stellt und die selben Werte aus den übrigen Dateien zeilenweise untereinander auflistet.
Das Problem: Die Dir() Funktion erkennt scheinbar die Dateinamen nicht und springt direkt zum Ende der Prozedur (ohne Fehlermeldung). Mein Ansatz war:
Option Explicit

Public Sub ExcelDateienAuswerten()
Dim strDateiname As String
Dim strPfad      As String
Dim lngZeile     As Long
'Pfadangabe, in dem die zu lesenden Excel-Datei (*.xl) liegen
strPfad = "C:\Users\...\Desktop\AZN"
'Den 1. Dateinamen holen
strDateiname = Dir(strPfad & "*.xlsx")
'Startzeile festlegen
lngZeile = 2
'Solange ein Dateiname gelesen wird
Do While strDateiname  ""
'Datei verarbeiten
Call TabVerarb(strPfad & strDateiname, lngZeile)
'nächsten Dateinamen holen
strDateiname = Dir()
'Zeilenzähler erhöhen
lngZeile = lngZeile + 1
Loop
End Sub
Public Sub TabVerarb(strPfad As String, lngZeile As Long)
Dim strMeSH As String
Dim strDatei As String
Dim strSH As String
'Dateinamen extrahieren
strDatei = Split(strPfad, "\")(UBound(Split(strPfad, "\")))
'Eigenen Namen merken
strMeSH = ActiveWorkbook.Name
'Datei öffnen
Workbooks.Open Filename:=strPfad
With Workbooks(strMeSH)
'Dateinamen und auszuwertenden Zellen übertragen
.Sheets("Tabelle1").Cells(lngZeile, 1) = strDatei
.Sheets("Tabelle1").Cells(lngZeile, 2) = Workbooks(strDatei).Sheets("Tabelle2").Range("  _
_
B2").Value
.Sheets("Tabelle1").Cells(lngZeile, 3) = Workbooks(strDatei).Sheets("Tabelle2").Range("  _
_
C26").Value
.Sheets("Tabelle1").Cells(lngZeile, 4) = Workbooks(strDatei).Sheets("Tabelle2").Range("  _
_
D26").Value
.Sheets ... usw. bis S26
End With
'Quelldatei schließen
Workbooks(strDatei).Saved = True
Workbooks(strDatei).Close
End Sub


		

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen aus mehreren Dateien einlesen
27.02.2017 13:07:43
Rudi
Hallo,
in strPfad fehlt am Ende ein \.
Gruß
Rudi
AW: Zellen aus mehreren Dateien einlesen
27.02.2017 15:24:21
Luca
Vielen Dank!
In der Zuordnung der Zellen ist leider auch noch ein Fehler, aber ich habe das Problem jetzt anders gelöst. Danke für die schnelle Rückmeldung. LG
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige