2016-05-11 6 views
0

Ich habe den folgenden VBA-Code, der einen Ordner öffnet, wo ich die Excel-Dateien mit bestimmten Namen speichern ("11.xlsm und" 2.xlsm ") und öffnen Sie dann diese Dateien automatisch und die Kopie ihre Sheets „Daten“ und fügen sie sich auf meine masterworkbook „makrotochange“ genannt.Öffnen und Kopieren/Einfügen Variable namens Datei

ChDir _ 
    "Z:\1000_Entwicklung\05_PROJECT\0558000_CFT\055800L_CFT_Projektleitung\99_Arbeitsordner PL\Tanverdi, Yigit\SAA" 
Workbooks.Open Filename:= _ 
    "Z:\1000_Entwicklung\05_PROJECT\0558000_CFT\055800L_CFT_Projektleitung\99_Arbeitsordner PL\Tanverdi, Yigit\SAA\11.xlsm" 
Workbooks.Open Filename:= _ 
    "Z:\1000_Entwicklung\05_PROJECT\0558000_CFT\055800L_CFT_Projektleitung\99_Arbeitsordner PL\Tanverdi, Yigit\SAA\2.xlsm" 
Windows("makrotochange.xlsm").Activate 



Windows("11.xlsm").Activate 
sheets("data").Select 

sheets("data").Move After:=Workbooks("makrotochange.xlsm").sheets(23) 

Windows("2.xlsm").Activate 

sheets("data").Select 
sheets("data").Move After:=Workbooks("makrotochange.xlsm").sheets(24) 

ich mag jede Menge Variable mit dem Namen Dateien öffnen können, die in ist

"Z:\1000_Entwicklung\05_PROJECT\0558000_CFT\055800L_CFT_Projektleitung\99_Arbeitsordner PL\Tanverdi, Yigit\SAA" 

und copy/füge es in mein Masterwork-Buch "makrotochange.xlsm" ein

Wie kann ich das tun?

+2

Siehe: http://stackoverflow.com/questions/10380312/ loop-through-files-in-a-ordner-using-vba – Mrig

+0

hilft mir nicht, danke! –

+1

Eigentlich denke ich, dass Link Ihnen mehr helfen wird als Sie denken. Der Link zeigt Code, der alle Dateien in einem Ordner öffnet, wenn sie das Wort test im Namen haben. Wenn Sie die "IF" -Anweisung in der Mitte der Schleife durch Ihren Copy/Paste-Code ersetzen, haben Sie den Code, um jede Datei in einem Ordner zu durchlaufen, von ihr zu kopieren, in eine andere einzufügen und zu schließen. – DDuffy

Antwort

1

Nicht getestet, da ich derzeit Excel nicht verwenden kann. Mit den von Ihnen bereitgestellten Informationen und dem Link @Mrig können Sie jedoch davon ausgehen, dass dies die Grundlage für Ihre Suche sein könnte.

Sub LoopThroughFiles() 
Dim StrFile As String 
Dim WB As Workbook 
Dim InputFilePath As String 
InputFilePath = "Z:\1000_Entwicklung\05_PROJECT\0558000_CFT\055800L_CFT_Projektleitung\99_Arbeitsordner PL\Tanverdi, Yigit\SAA\" 
StrFile = Dir(InputFilePath & "*") 

Do While Len(StrFile) > 0 
     Set WB = Workbooks.Open(InputFilePath & StrFile) 
     WB.Activate 
      Sheets("data").Select 
      Sheets("data").Move After:=Workbooks("makrotochange.xlsm").Sheets(23) 
      StrFile = Dir() 
    Loop 
    End Sub 
EDITED

den Code jetzt bearbeitet, dass ich in der Lage bin Excel zu verwenden.

Dies wird alle Dateien in dem Ordner nehmen, öffnen Sie sie, kopieren Sie das Blatt "Daten", und verschieben Sie es nach Blatt 23 in Ihrer makrotochange.xlsm-Datei.

Ein paar Punkte von Interesse, obwohl. Sie müssen sicherstellen, dass Ihre Datei makrotochange.xlsm zu Beginn geöffnet ist. Sie müssen sicherstellen, dass alle Dateien ein Blatt mit dem Namen "Data" haben. Sie werden 23. So die letzte Datei nach dem Blatt eingefügt werden, dies werden eingefügt in wird derjenige sein, der neben Blatt 23.

Viel Spaß

+0

danke für die Hilfe. Dies kompiliert jedoch nicht, da es Arbeitsmappen angibt. Schließen (Falsch) verursacht Problem. Wenn ich dies lösche, gibt es einen weiteren Fehler. –

+0

es funktioniert perfekt! Vielen Dank! –