如何用宏批量提取指定文件夹中所有excel表格中指定sheet的内容?

文件夹中有202001、202002这样按月统计的excel表,每张表里sheet数量不定,请问怎么批量提取里面sheet名称为“钢筋出库量”的内容(不含表头4行)并汇总到一张表??

下面是一个示例的VBA代码,可以帮助您批量提取指定文件夹中所有Excel表格中特定工作表的内容,并将其汇总到一张表中:
vba
Sub ExtractDataFromSheets()
Dim FolderPath As String
Dim FileName As String
Dim wbSource As Workbook
Dim wsSource As Worksheet
Dim wsDestination As Worksheet
Dim LastRow As Long
Dim SourceRange As Range
Dim DestinationRange As Range

' 设置文件夹路径
FolderPath = "C:\YourFolderPath\" ' 更改为实际的文件夹路径

' 设置目标工作表
Set wsDestination = ThisWorkbook.Sheets("汇总表") ' 将"汇总表"替换为实际的目标工作表名称

' 打开文件夹中的每个Excel文件
FileName = Dir(FolderPath & "*.xlsx") ' 可根据实际文件类型进行更改

Do While FileName <> ""
Set wbSource = Workbooks.Open(FolderPath & FileName)

' 提取每个工作表中的数据
For Each wsSource In wbSource.Worksheets
If wsSource.Name = "钢筋出库量" Then ' 更改为实际的工作表名称
LastRow = wsSource.Cells(Rows.Count, 1).End(xlUp).Row
Set SourceRange = wsSource.Range("A5:Z" & LastRow) ' 更改为实际的数据范围
Set DestinationRange = wsDestination.Cells(Rows.Count, 1).End(xlUp).Offset(1)
SourceRange.Copy DestinationRange
End If
Next wsSource

wbSource.Close SaveChanges:=False
FileName = Dir
Loop

MsgBox "数据提取完成!"
End Sub

使用前,请确保按照注释中的说明修改代码中的文件夹路径、目标工作表名称以及源工作表名称和数据范围。运行该宏后,它将遍历指定文件夹中的所有Excel文件,找到每个文件中名为"钢筋出库量"的工作表,并将其内容(不含表头4行)复制到目标工作表的下一行。
温馨提示:答案为网友推荐,仅供参考