使用VBA(Excel)从多个封闭的工作簿中提取特定单元格

时间:2018-10-09 17:56:36

标签: excel vba excel-vba

我有500多个电子表格,我需要从每个电子表格中提取5行。它们都保存在同一文件夹中。我只需要能够创建一个代码,即可遍历指定目录中的每个文件,提取每个文件的前5行(每个文件仅一个工作表),并将结果全部粘贴到一个汇总的工作表中。

这是我到目前为止的代码(无法按预期工作):

Public Sub CommandButton1_Click()

Dim mainBook As Workbook
Set mainBook = ActiveWorkbook

Dim fso As New Scripting.FileSystemObject
Dim fle As Scripting.File
Dim book As Workbook
For Each fle In fso.GetFolder("C:\dir").Files


    Set book = Workbooks.Open(fle.Path)
    Dim wks As Worksheet
    For Each wks In book.Worksheets

            wks.Range("A5:A10").Copy mainBook.Worksheets(1) 'copies to the  start of the main workbook

    Next
    book.Close
Next
End Sub

谢谢。

1 个答案:

答案 0 :(得分:2)

wks.Range("A5:A10").Copy mainBook.Worksheets(1),您需要实际粘贴到某个范围,然后尝试

 wks.Range("A5:A10").Copy mainBook.Worksheets(1).cells(mainBook.Worksheets(1).rows.count,"A").end(xlup).offset(1)