Microsoft Excel

Herbers Excel/VBA-Archiv

Zellen aus mehreren Dateien in Masterdatei

Betrifft: Zellen aus mehreren Dateien in Masterdatei von: FE210
Geschrieben am: 21.10.2014 11:29:41

Hallo Zusammen,

Ich habe bereits einige Tage nach einer Lösung für mein Excel Problem in den Foren gesucht und leider noch keine passende Lösung gefunden. Ich habe ebenfalls versucht die gefunden Vorschläge anzupassen, leider ohne Erfolg.

Folgende Problemstellung:

Ich habe rund 200 Excel Dateien in einem Ordner "Dateien" abgelegt. Ich muss nun von diesen 200 Dateien nur einzelne Zellen in eine Masterdatei (befindet sich ebenfalls im gleichen Ordner) untereinander reinkopieren, sodass am schluss alle Zellen in einem Tabellenblatt der Masterdatei ersichtlich sind. Die Dateien weisen alle die gleichen Tabellenblätter auf.

Dateien sind benannt mit XY_ABC.xlsm, TU_DEF.xlsm usw.
Datenort: Tabellenblatt "Auswertung", Zellenbereich A5 bis AD7
Masterdatei ist benannt mit Master.xlsm
Zieltabellenblatt: "Nachfrage", Zellenbereich A5 bis AD7, untereinander

Ich muss von den einzelnen Dateien zuerst das Tabellenblatt "Auswertung" ansteuern und dort die Zellen A5 bis AD7 kopieren. Dann soll dieser Abschnitt in der Masterdatei unter der Tabelle "Nachfrage" im Bereich A5 bis AD7 eingefügt werden. Dieser Kopier&Einfügen Vorgang sollte nun bei allen im Ordner "Dateien" befindenden Dateien durchgeführt werden, sodass am Schluss alle A5 bis AD7 Werte der Dateien untereinander in der Masterdatei im Tabellenblatt "Nachfrage" erscheinen. Falls möglich sollten sich die einzelnen Dateien dabei nicht öffen.

Könnt Ihr mir dabei helfen? Vielen Dank für eure Bemühungen.

gruss FE210

  

Betrifft: AW: Zellen aus mehreren Dateien in Masterdatei von: Peter
Geschrieben am: 21.10.2014 13:22:32

Hallo

Sollte wie gewünscht funktionieren (das öffnen der Dateien kann ich nicht verhindern, du merkst es aber nicht)

Option Explicit

Sub GetAllXls()

    Dim fso As Object
    Dim myFolder As Object
    Dim MyFile As Object
    Dim MyType As String
    
    Dim startDir As String
    Dim TmpWs As Workbook
    Dim MyWS As Workbook
    
    Dim StartRow As Long
    
    StartRow = 5
    
    Set MyWS = ThisWorkbook
    startDir = MyWS.Path
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set myFolder = fso.getfolder(startDir)
    
    For Each MyFile In myFolder.Files
        ' we don't need the temporary files ... (file name start with "~")
        If Mid(MyFile.Name, 1, 1) <> "~" Then
            MyType = UCase(fso.getextensionname(MyFile))

            If (MyType = "XLS") Or (MyType = "XLSX") Or (MyType = "XLSM") Then
                If MyFile.Name <> MyWS.Name Then
                ' start the action
                    Application.ScreenUpdating = False
                    
                    Set TmpWs = Workbooks.Open(Filename:=MyFile.Path, ReadOnly:=True)

                    TmpWs.Worksheets("Auswertung").Range("A5:AD7").Select
                    Selection.Copy

                    MyWS.Worksheets("Nachfrage").Activate
                    MyWS.Worksheets("Nachfrage").Range("A" & StartRow).Select
                    
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
                                           SkipBlanks:=False, Transpose:=False
                    
                    StartRow = StartRow + 3
                    
                    TmpWs.Close
                    Set TmpWs = Nothing
                    Application.ScreenUpdating = True
                End If
            End If
        End If
    Next
    Set MyWS = Nothing
End Sub




  

Betrifft: AW: Zellen aus mehreren Dateien in Masterdatei von: FE210
Geschrieben am: 21.10.2014 19:11:04

Vielen Vielen Dank Peter, funktioniert einwandfrei ;)

Viele Grüsse


 

Beiträge aus den Excel-Beispielen zum Thema "Zellen aus mehreren Dateien in Masterdatei"