2016-07-12 4 views
0

Warnung Amateur-Coder zu wissen ...Ich versuche, VBA zu verwenden, um Daten aus mehreren Arbeitsmappe in eine Master-Datei zu kopieren, ohne die Namen der einzelnen Arbeitsmappe

ich bereits diesen Code verwenden alle Arbeitsmappe in einer bestimmten Datei zu öffnen Weg

Sub OpenFiles() 

Dim MyFolder As String 
Dim MyFile As String 
MyFolder = InputBox("Please enter the folder for files") 
MyFile = Dir(MyFolder & "\*.xlsx") 
Do While MyFile <> "" 
Workbooks.Open Filename:=MyFolder & "\" & MyFile 
MyFile = Dir 
Loop 
End Sub 

Mein nächster Schritt versucht, Daten aus Arbeitsmappe geöffnet und Einfügen in die Arbeitsmappe mit dem Code zu kopieren, aber nicht sicher, wie. Das Problem ist, dass jedes Mal 1-3 Arbeitsmappen geöffnet werden können. Und es ist nie den gleichen Namen

Vielen Dank im Voraus

+0

gibt es nur ein Arbeitsblatt oder diese variieren können. Möchten Sie Daten nur von einem Blatt oder von allen Blättern einer Arbeitsmappe kopieren? – skkakkar

+0

Nur ein Arbeitsblatt für jede Arbeitsmappe, die geöffnet wird – Hoopah

Antwort

1
Sub OpenFiles() 

    Dim MyFolder As String 
    Dim MyFile As String, wb As WorkBook 

    MyFolder = InputBox("Please enter the folder for files") 
    MyFile = Dir(MyFolder & "\*.xlsx") 

    Do While MyFile <> "" 

     Set wb = Workbooks.Open(Filename:=MyFolder & "\" & MyFile) 

     wb.Sheets(1).Range("A1").CurrentRegion.Copy _ 
      ThisWorkbook.Sheets("Data").Cells(rows.Count, 1).End(xlUp).Offset(1,0) 
     wb.Close False 

     MyFile = Dir 

    Loop 
End Sub 
Verwandte Themen