Advertisement

vba读取csv文件到excel_利用VBA合并多个Excel文件

阅读量:

具体操作方法如下: 0224e06d00de1c08ba91bb4a359bb358.png 1、把需要合并的excel表格文档放到同一个文件夹里 (注意,文件夹中不要有其他的Excel文件)。 0224e06d00de1c08ba91bb4a359bb358.png 2、新建一个“合并数据.xlsm“文档 (文件名称自定义即可,xlsm为启用宏的Excel文件格式) 。 0224e06d00de1c08ba91bb4a359bb358.png 3、打开“合并数据.xlsm“文件,在”Sheet1“工作表处右键→查看代码 (快捷键:“Alt+F11”,或者打开“开发工具”-选择“Visual Basic”) 进入到Microsoft Visual Basic for Applications 的窗口。
dce13fdf354d2f24d8dd43801d1a749e.png
369013cf07bc2f59c0c90c7b31c6027c.png
0224e06d00de1c08ba91bb4a359bb358.png 4、双击工程资源管理器里面的sheet1或者ThisWorkbook,在右侧的代码区粘贴如下代码 (当然处理的VBA代码不止一种,以下仅为举例) :

复制代码
    Sub 合并工作簿()Dim MyPath, MyName, AWbNameDim Wb As Workbook, WbN As StringDim G As LongDim Num As LongDim BOX As StringApplication.ScreenUpdating = FalseMyPath = ActiveWorkbook.PathMyName = Dir(MyPath & "\" & "*.xls")AWbName = ActiveWorkbook.NameNum = 0Do While MyName <> ""If MyName <> AWbName ThenSet Wb = Workbooks.Open(MyPath & "\" & MyName)Num = Num + 1With Workbooks(1).ActiveSheet.Cells(.Range("A65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)For G = 1 To Sheets.CountWb.Sheets(G).UsedRange.Copy .Cells(.Range("A65536").End(xlUp).Row + 1, 1)NextWbN = WbN & Chr(13) & Wb.NameWb.Close FalseEnd WithEnd IfMyName = DirLoopRange("A1").SelectApplication.ScreenUpdating = TrueMsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"End Sub

0224e06d00de1c08ba91bb4a359bb358.png 5、运行→运行子过程/用户窗体 ( 或者直接点击运行按钮,快捷键:F5),即可合并所有Excel表格到”数据合并.xlsm“文档的Sheet1工作表里面。
2326f708082b38c2827f0bcc5e9ef20b.png
0224e06d00de1c08ba91bb4a359bb358.png 6、稍微处理一下合并后的数据,就完成了Excel表格的合并。

PS : 如果处理的是多个.csv文件呢?只需将代码中的第9行改为:MyName = Dir(MyPath & "" & "*.csv") ,即可完成数据合并。

全部评论 (0)

还没有任何评论哟~