Копирайте ред или редове от всяка работна книга в папка, използвайки VBA в Microsoft Excel

Anonim
  • Макросът ще копира част от първия работен лист на всеки файл, който е в папката C: \ Data в първия работен лист на вашата работна книга.
  • Първият макрос прави нормално копиране, а вторият макрос копира стойностите.
Sub CopyRow () Dim basebook As Workbook Dim mybook As Workbook Dim source Range As Range Dim destrange As Range Dim rnum As Long Dim a As Dim Dim as As Long Application.ScreenUpdating = False With Application.FileSearch .NewSearch .LookIn = "C: \ Данни ".SearchSubFolders = False .FileType = msoFileTypeExcelWorkbooks If .Execute ()> 0 Тогава задайте basebook = ThisWorkbook rnum = 1 For i = 1 To.S.Files.Count Set mybook = Работни книги. mybook.Worksheets (1) .Rows ("3: 5") a = sourceRange.Rows.Count Set destrange = basebook.Worksheets (1) .Cells (rnum, 1) sourceRange.Copy destrange mybook.Close rnum = i * a + 1 Следващ край, ако завършва с Application.ScreenUpdating = True End Sub Sub CopyRowValues ​​() Dim base basebook като работна книга Dim mybook като работна книга Dim източник Range As Range Dim destrange As Range Dim rnum As Long Dim i As Long Dim a As Long Application. = Невярно с Application.FileSearch .NewSearch .LookIn = "C: \ Data" .SearchSubFolders = False .FileType = msoFi leTypeExcelWorkbooks Ако .Execute ()> 0 След това задайте basebook = ThisWorkbook rnum = 1 For i = 1 To. "3: 5") a = sourceRange.Rows.Count With sourceRange Задайте destrange = basebook.Worksheets (1) .Cells (rnum, 1). _ Преоразмеряване (.Rows.Count, .Columns.Count) Край с destrange.Value = sourceRange.Value mybook.Close rnum = i * a + 1 Next i End If End With Application.ScreenUpdating = True End Sub