Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1028to1032
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

Werte aus mehreren Dateien herausholen

Werte aus mehreren Dateien herausholen
26.11.2008 18:39:00
Andres
Hallo,
ich möchte aus einem Ordner aus allen (Excel-)Dateien den Inhalt der Zelle A1 und B1
in die Spalte Spalte A und B der Datei Erfassung.xls eintragen lassen.
Kann mir jemand weiterhelfen?
Gruß
Andres

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte aus mehreren Dateien herausholen
26.11.2008 18:58:00
Tino
Hallo,
wie wäre es hiermit?
Führe diesen in Deiner Datei Erfassung.xls aus.
Pfad und erster Einfügebereich, musst Du entsprechend an Deine Bedürfnisse anpassen.
Option Explicit

Sub LeseFiles()
Dim Fso, Ordner, varDatei
Dim DateiName As String, strPfad As String
Dim objDatei As Workbook
Dim Bereich As Range
Dim iCalc As Integer

'Pfad anpassen 
strPfad = "C:\Forum"
'erster Einfügebereich anpassen 
Set Bereich = Sheets("Tabelle1").Range("A1:B1")

Set Fso = CreateObject("Scripting.FileSystemObject")
Set Ordner = Fso.getfolder(strPfad) 'Pfad anpassen 

With Application
 iCalc = .Calculation
 .ScreenUpdating = False
 .EnableEvents = False
 .Calculation = xlCalculationManual
    For Each varDatei In Ordner.Files
     If LCase(varDatei) Like "*.xls" Then
        Set objDatei = Workbooks.Open(varDatei, , True)
        Bereich.Value = objDatei.Worksheets(1).Range("A1:B1").Value
        objDatei.Close False
        Set Bereich = Bereich.Offset(1, 0)
     End If
    Next varDatei
 .Calculation = iCalc
 .ScreenUpdating = True
 .EnableEvents = True
End With
End Sub


Gruß Tino

Anzeige
AW: Werte aus mehreren Dateien herausholen
26.11.2008 19:07:00
Andres
Danke! Klasse!
Wie müßte ich das dann noch machen, wenn die Werte z.B. aus A1 und D1 ( also nicht: Range A1:B1, sondern: .... ?) kommen sollen und dann wie bisher in die Spalte A und B der Datei Erfassung.xls eingetragen werden sollen.
AW: Werte aus mehreren Dateien herausholen
26.11.2008 19:46:00
Tino
Hallo,
so müsste es gehen.
Option Explicit

Sub LeseFiles()
Dim Fso, Ordner, varDatei
Dim DateiName As String, strPfad As String
Dim objDatei As Workbook
Dim Bereich As Range
Dim iCalc As Integer

'Pfad anpassen 
strPfad = "C:\Forum"
'erster Einfügebereich anpassen 
Set Bereich = Sheets("Tabelle1").Range("A1:B1")

Set Fso = CreateObject("Scripting.FileSystemObject")
Set Ordner = Fso.getfolder(strPfad) 'Pfad anpassen 

With Application
 iCalc = .Calculation
 .ScreenUpdating = False
 .EnableEvents = False
 .Calculation = xlCalculationManual
    For Each varDatei In Ordner.Files
     If LCase(varDatei) Like "*.xls" Then
        Set objDatei = Workbooks.Open(varDatei, , True)
            With objDatei.Worksheets(1)
             Bereich(1).Value = .Range("A1").Value
             Bereich(2).Value = .Range("D1").Value
            End With
        objDatei.Close False
        Set Bereich = Bereich.Offset(1, 0)
     End If
    Next varDatei
 .Calculation = iCalc
 .ScreenUpdating = True
 .EnableEvents = True
End With
End Sub


Gruß Tino

Anzeige
AW: Werte aus mehreren Dateien herausholen
27.11.2008 07:10:00
Beverly
Hi Andreas,
hier eine Möglichkeit ohne die Dateien zu öffnen

Sub daten_uebernehmen()
Dim strFile As String
Dim strPath As String
Dim loZeileZielmappe As Integer
Application.ScreenUpdating = False
strPath = "C:\Test\"               ' Pfad bitte anpassen!
strFile = Dir(strPath & "*.xls")
loZeileZielmappe = 1
Do While strFile  ""
If strFile  ThisWorkbook.Name Then
Cells(loZeileZielmappe, 1).Formula = "='" & strPath & "[" & strFile & "]" & " _
Tabelle1" & "'!A1"
Cells(loZeileZielmappe, 2).Formula = "='" & strPath & "[" & strFile & "]" & " _
Tabelle1" & "'!D1"
loZeileZielmappe = loZeileZielmappe + 1
End If
strFile = Dir()
Loop
Range("A1:B" & loZeileZielmappe).Copy
Range("A1:B" & loZeileZielmappe).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub


Dieser Code funktioniert auch in Excel2007



Anzeige
AW: Werte aus mehreren Dateien herausholen
27.11.2008 07:42:00
Tino
Hallo,
lese Deinen Code nur vom Pocket,
der Tabellenname muss aber bekannt sein, oder?
Gruß Tino
AW: Werte aus mehreren Dateien herausholen
27.11.2008 08:53:00
Beverly
Hi Tino,
im Code ist vorgegeben, dass es Tabelle1 ist. Gibt es diese Tabelle nicht in der Arbeitsmappe, wird die Excel-interne Abfrage zur Auswahl des Tabellenblattes geöffnet.


@Beverly, danke alles klar oT.
27.11.2008 17:35:41
Tino

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige