vba读取csv文件到excel_利用VBA合并多个Excel文件
发布时间
阅读量:
阅读量
具体操作方法如下:
1、把需要合并的excel表格文档放到同一个文件夹里 (注意,文件夹中不要有其他的Excel文件)。
2、新建一个“合并数据.xlsm“文档 (文件名称自定义即可,xlsm为启用宏的Excel文件格式) 。
3、打开“合并数据.xlsm“文件,在”Sheet1“工作表处右键→查看代码 (快捷键:“Alt+F11”,或者打开“开发工具”-选择“Visual Basic”) 进入到Microsoft Visual Basic for Applications 的窗口。


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
5、运行→运行子过程/用户窗体 ( 或者直接点击运行按钮,快捷键:F5),即可合并所有Excel表格到”数据合并.xlsm“文档的Sheet1工作表里面。

6、稍微处理一下合并后的数据,就完成了Excel表格的合并。
PS : 如果处理的是多个.csv文件呢?只需将代码中的第9行改为:MyName = Dir(MyPath & "" & "*.csv") ,即可完成数据合并。
全部评论 (0)
还没有任何评论哟~
