2017-03-03 2 views
0

Ich habe den folgenden VBA-Code auf einer Website gefunden. Es sieht im Wesentlichen in einem Ordner für Excel-Tabellen aus und fügt sie zu einem zusammen. Es kopiert nur die Informationen von der zuletzt geöffneten Registerkarte vor dem Speichern und Schließen.Wie ändere ich meinen VBA-Code, um nur Blätter mit einem bestimmten Namen zu ziehen?

Wie ändere ich diesen Code, so dass er nur aus einem Tab namens "Template" kopiert?

Sub simpleXlsMerger() 
Dim bookList As Workbook 
Dim mergeObj As Object, dirObj As Object, filesObj As Object, everyObj As Object 
Application.ScreenUpdating = False 
Set mergeObj = CreateObject("Scripting.FileSystemObject") 

'change folder path of excel files here 
Set dirObj = mergeObj.Getfolder("D:\change\to\excel\files\path\here") 
Set filesObj = dirObj.Files 
For Each everyObj In filesObj 
Set bookList = Workbooks.Open(everyObj) 

'change "A2" with cell reference of start point for every files here 
'for example "B3:IV" to merge all files start from columns B and rows 3 
'If you're files using more than IV column, change it to the latest column 
'Also change "A" column on "A65536" to the same column as start point 
Range("A2:IV" & Range("A65536").End(xlUp).Row).Copy 
ThisWorkbook.Worksheets(1).Activate 

'Do not change the following column. It's not the same column as above 
Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial 
Application.CutCopyMode = False 
bookList.Close 
Next 
End Sub 

Antwort

1
For Each everyObj In filesObj 
    Set bookList = Workbooks.Open(everyObj) 
    Worksheets("Template").Range("A2:IV" & Range("A65536").End(xlUp).Row).Copy ThisWorkbook.Worksheets(1).Range("A65536").End(xlUp).Offset(1, 0) 
    bookList.Close 
Next 

Oder

For Each everyObj In filesObj 
    With Workbooks.Open(everyObj).Worksheets("Template") 
     .Range("A2:IV" & Range("A65536").End(xlUp).Row).Copy ThisWorkbook.Worksheets(1).Range("A65536").End(xlUp).Offset(1, 0) 
     .Close 
    End With 
Next 
+0

Thank you so much !!! –

+0

Sie sind herzlich willkommen – user3598756

Verwandte Themen