我有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
谢谢。
答案 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)