- Makro skopiuje część pierwszego arkusza roboczego każdego pliku znajdującego się w folderze C:\Data do pierwszego arkusza roboczego skoroszytu.
- Pierwsze makro wykonuje normalną kopię, a drugie makro kopiuje wartości.
Skopiuje pierwszy arkusz każdego skoroszytu do skoroszytu, w którym znajduje się kod.
Nazwa arkusza to nazwa skoroszytu.
Sub CopySheet() Dim basebook 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 Następnie ustaw basebook = ThisWorkbook For i = 1 To .FoundFiles.Count Ustaw mybook = Workbooks.Open(.FoundFiles(i)) mybook.Worksheets(1).Copy after:= _ basebook.Sheets(basebook.Sheets.Count) ActiveSheet.Name = mojaksiążka.Name mojaksiążka.Zamknij Dalej i zakończ, jeśli kończy się na Application.ScreenUpdating = True End Sub
W przypadku tego pod(TestFile4_values) musisz mieć niechronione arkusze robocze lub wyłączyć ich ochronę w kodzie.
Sub CopySheetValues() Dim basebook 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 Następnie ustaw basebook = ThisWorkbook For i = 1 To .FoundFiles.Count Ustaw mybook = Workbooks.Open(.FoundFiles(i)) mybook.Worksheets(1).Copy after:= _ basebook.Sheets(basebook.Sheets.Count) ActiveSheet.Name = mybook.Name With ActiveSheet.UsedRange .Value = .Value Koniec z mybook.Close Next i End If End With Application.ScreenUpdating = True End Sub