当前位置:文档之家› EXCEL合并多个工作薄中的相同指定工作表到另一个工作薄中

EXCEL合并多个工作薄中的相同指定工作表到另一个工作薄中

EXCEL合并多个工作薄中的相同指定工作表到另一个工作薄中文件夹下有600多个工作薄,每个工作薄中有工作表20多个,每个工作薄中都有一个工作表标签为"明细"的工作表,需要将名称为"明细"的指定工作表的数据,汇集罗列到另外一个工作薄的"汇总表"中,如何写vba代码
最佳答案
Sub 合并选定工作簿的第一个工作表()
'功能:合并某文件下所有Excel工作簿中的第一个工作表
'使用:将要合并的工作簿拷贝到某文件夹下,新建一个工作簿后执行该宏
Dim WBName As String '汇总工作簿名称
Dim WBCurrent As String '当前正在合并的工作簿
Dim i As Integer
Dim FileToOpen As Variant '选定的文件列表
'显示选择文件对话框,使用Ctrl或Shief键选取多个工作簿
FileToOpen = Application _
.GetOpenFilename("Excel Files (*.xls), *.xls", , "请选择要合并的工作簿", , True)
'如果没有选择文件则退出
If IsArray(FileToOpen) = 0 Then
MsgBox "没有选择文件"
Exit Sub
End If
'不显示合并的过程
= False
WBName =
'逐个合并工作簿
For i = 1 To UBound(FileToOpen)
'打开一个工作簿
Filename:=FileToOpen(i)
WBCurrent =
'将该工作簿复制到汇总工作簿
Sheets("明细").Copy Before:=Workbooks(WBName).Sheets(1)
'将去掉".xls"后缀的工作簿文件名作为工作表名称,
= Left(WBCurrent, Len(WBCurrent) - 4)
'合并后关闭该工作簿
Workbooks(WBCurrent).Close
Next i
= True
End Sub。

相关主题