
excel
Sub 合并当前目录下所有工作簿的全部工作表()Dim MyPath, MyName, AWbNameDim Wb As Workbook, WbN As StringDim G As LongDim Num As LongDim BOX As String*.screenupdating = FalseMyPath = *.pathMyName = Dir(MyPath & & *.xls)AWbName = *.nameNum = 0Do While MyName If MyName AWbName Then Set Wb = *.open(MyPath & & MyName) Num = Num + 1 With Workbooks(1).ActiveSheet .Cells(.Range(B65536).End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4) For G = 1 To *.count *.sheets(G).*.copy .Cells(.Range(B65536).End(xlUp).Row + 1, 1) Next WbN = WbN & Chr(13) & *.name *.close False End With End If MyName = DirLoopRange(B1).Select*.screenupdating = TrueMsgBox 共合并了 & Num & 个工作薄下的全部工作表。如下: & Chr(13) & WbN, vbInformation, 提示End Sub
运行之后等个十几秒,等它跑完就会弹个提示框,点确定就行。合并完的两个表格会分别出现在Sheet1和Sheet2里。
Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号