Kopiera ett ark från varje arbetsbok till din arbetsbok i en mapp med VBA i Microsoft Excel

Innehållsförteckning
  • Makrot kommer att kopiera en del av det första kalkylbladet i varje fil som finns i mappen C: \ Data till det första kalkylbladet i din arbetsbok.
  • Det första makrot gör en normal kopia och det andra makroet kopierar värdena.

Det kommer att kopiera det första bladet i varje arbetsbok till den arbetsbok där koden finns.
Bladets namn är namnet på arbetsboken.

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 Ställ sedan in basebook = 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

För denna del (TestFile4_values) måste du ha oskyddade kalkylblad eller avskydda dem i koden.

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 Ställ sedan in basebook = 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

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave