Zkopírujte list z každého sešitu do sešitu ve složce pomocí VBA v Microsoft Excelu

Anonim
  • Makro zkopíruje část prvního listu každého souboru, který je ve složce C: \ Data, do prvního listu vašeho sešitu.
  • První makro provede normální kopírování a druhé makro zkopíruje hodnoty.

Zkopíruje první list každého sešitu do sešitu, kde je kód.
Název listu je název sešitu.

Sub CopySheet () Dim basbook as Workbook Dim mybook As Workbook Dim i as Long Application.ScreenUpdating = False With Application.FileSearch .NewSearch .LookIn = "C: \ Data" .SearchSubFolders = False .FileType = msoFileTypeExcelWorkbooks If .Execute ()> 0 Potom nastavte základní knihu = ThisWorkbook For i = 1 To .FoundFiles.Count Set mybook = Workbooks.Open (.FoundFiles (i)) mybook.Worksheets (1) .Copy after: = _ basebook.Sheets (basebook.Sheets.Count) ActiveSheet.Name = mybook.Name mybook.Close Next i End If End With Application.ScreenUpdating = True End Sub

Pro tento dílčí (TestFile4_values) musíte mít nechráněné listy nebo je v kódu odemknout.

Dílčí CopySheetValues ​​() Dim basbook as Workbook Dim mybook As Workbook Dim i As Long Application.ScreenUpdating = False With Application.FileSearch .NewSearch .LookIn = "C: \ Data" .SearchSubFolders = False .FileType = msoFileTypeExcelWorkbooks If .Ex 0 Potom nastavte základní knihu = ThisWorkbook For i = 1 To .FoundFiles.Count Set mybook = Workbooks.Open (.FoundFiles (i)) mybook.Worksheets (1) .Copy after: = _ basebook.Sheets (basebook.Sheets.Count) ActiveSheet.Name = mybook.Name With ActiveSheet.UsedRange .Value = .Value End with mybook.Close Next i End If End With Application.ScreenUpdating = True End Sub