Copie una hoja de cada libro de trabajo en su libro de trabajo en una carpeta usando VBA en Microsoft Excel

Tabla de contenido
  • La macro copiará una parte de la primera hoja de trabajo de cada archivo que esté en la carpeta C: \ Data a la primera hoja de trabajo de su libro.
  • La primera macro realiza una copia normal y la segunda macro copia los valores.

Copiará la primera hoja de cada libro de trabajo en el libro de trabajo donde se encuentra el código.
El nombre de la hoja es el nombre del libro de trabajo.

Sub CopySheet () Dim basebook como libro de trabajo Dim mybook como libro de trabajo Dim i como largo Application.ScreenUpdating = False con Application.FileSearch .NewSearch .LookIn = "C: \ Data" .SearchSubFolders = False .FileType = msoFileTypeExcelWorkbooks If .Execute ()> 0 Luego, establezca basebook = ThisWorkbook For i = 1 To .FoundFiles.Count Establezca 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

Para este sub (TestFile4_values) debe tener hojas de trabajo desprotegidas o desprotegerlas en el código.

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 Luego, establezca basebook = ThisWorkbook For i = 1 To .FoundFiles.Count Establezca mybook = Workbooks.Open (.FoundFiles (i)) mybook.Worksheets (1) .Copy after: = _ basebook.Sheets (basebook.Sheets.Count) ActiveSheet.Name = mybook.Name con ActiveSheet.UsedRange .Value = .Value Finalizar con mybook.Close Next i End If End With Application.ScreenUpdating = True End Sub

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave