Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
868to872
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
868to872
868to872
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dateien aus Verzeichnis in neue Datei einlesen

Dateien aus Verzeichnis in neue Datei einlesen
11.05.2007 09:42:12
Michael Dockhorn

Hallo,
ich weiß, dass dieser Problem in ähnlicher Form hier schon öfter diskutiert wurde, allerdings hat mich die Recherche bisher nicht so richtig weiter gebracht.
Ich benötige ein Makro, welches aus einem festgelegten Verzeichnis (S:\TEMP\Import) alle .xls Dateien (nur das erste Sheet) in eine einzige .xls Datei einliest. Jede der Datein soll ein einzelnes Register erhalten. Das Register soll die Bezeichnung tragen, welche in Zelle B4 steht.
Ich hoffe ich habe mich verständlich ausgedrückt...
Micha

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

Betreff
Datum
Anwender
Anzeige
AW: Dateien aus Verzeichnis in neue Datei einlesen
11.05.2007 10:22:13
Rudi Maintaire
Hallo,


Sub DateienLesen()
Dim oFS As FileSearch, i As Integer
Dim wkb As Workbook, wkbFound As Workbook
Set oFS = Application.FileSearch
With oFS
.LookIn = "s:\temp\import"
.FileType = msoFileTypeExcelWorkbooks
If .Execute > 0 Then
For i = 1 To .FoundFiles.Count
Set wkbFound = Workbooks.Open(.FoundFiles(i))
If wkb Is Nothing Then
wkbFound.Sheets(1).Copy
Set wkb = ActiveWorkbook
Else
wkbFound.Sheets(1).Copy wkb.Sheets(1)
End If
ActiveSheet.Name = CheckSheetName(ActiveSheet.Range("B4"))
wkbFound.Close False
Next i
End If
End With
End Sub



Function CheckSheetName(strName As String) As String
Dim notAllowed As Variant
Dim n As Integer
'Im Tabellennamen nicht zulässige Zeichen
notAllowed = Array(":", "\", "/", "?", "*", "[", "]")
'unerlaubte Zeichen durch _ ersetzen
For n = 0 To UBound(notAllowed)
strName = Replace(strName, notAllowed(n), "_")
Next
'Namen auf 31 Zeichen begrenzen
CheckSheetName = Left(strName, 31)
End Function


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: Dateien aus Verzeichnis in neue Datei einlesen
11.05.2007 10:36:34
Michael Dockhorn
Hallo Rudi,
vielen Dank, klappt prima!

245 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige