我建的宏:
Sub 合并文件的VBA()
Dim MyPath, MyName, AWbName
Dim Wb As Workbook, WbN As String
Dim G As Long
Dim Num As Long
Dim BOX As String
Application.ScreenUpdating = False
MyPath = ActiveWorkbook.Path
MyName = Dir(MyPath & "\" & "*.csv")
AWbName = ActiveWorkbook.Name
Num = 0
Do While MyName <> ""
If (MyName <> AWbName) And InStr(MyName, "PMT") = 0 Then
Set Wb = Workbooks.Open(MyPath & "\" & MyName)
Num = Num + 1
With Workbooks(1).ActiveSheet
.Cells(.Range("B1", "B100").End(xlUp).Row, 1) = Left(MyName, Len(MyName) - 4)
For irow = 1 To 100
.Cells(irow, 1) = Wb.Sheets(1).Cells(irow, 1)
Next
For G = 1 To Sheets.Count
For irow = 1 To 100
.Cells(irow, Num + 1) = Wb.Sheets(G).Cells(irow, 2)
Next
Next
WbN = WbN & Chr(13) & Wb.Name
Wb.Close False
End With
End If
MyName = Dir
Loop
Range("B1").Select
Application.ScreenUpdating = True
MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"
End Sub
原文地址:https://www.cnblogs.com/youmeetmehere/p/11641831.html