输出一个VBA代码,实现从同一个文件夹中提取所有的csv文件到同一个EXCEL工作表中
时间: 2024-04-08 22:30:32 浏览: 182
以下是一个VBA代码示例,可以从同一个文件夹中提取所有的CSV文件并将它们合并到同一个Excel工作表中:
```vba
Sub MergeCSVFiles()
Dim FolderPath As String
Dim Filename As String
Dim PathAndFilename As String
Dim wb As Workbook
Dim ws As Worksheet
' 设置文件夹路径
FolderPath = "C:\YourFolderPath\" ' 替换为实际的文件夹路径
' 创建新的工作簿
Set wb = Workbooks.Add
' 循环遍历文件夹中的所有CSV文件
Filename = Dir(FolderPath & "*.csv")
Do While Filename <> ""
PathAndFilename = FolderPath & Filename
' 打开CSV文件并将其数据复制到新工作簿中
Set ws = wb.Worksheets.Add
With ws.QueryTables.Add(Connection:="TEXT;" & PathAndFilename, Destination:=ws.Range("A1"))
.TextFileParseType = xlDelimited
.TextFileCommaDelimiter = True
.Refresh
End With
' 关闭查询表
ws.QueryTables(1).Delete
' 获取下一个CSV文件名
Filename = Dir
Loop
' 保存合并后的数据到新工作表中
wb.SaveAs "C:\YourOutputPath\CombinedData.xlsx" ' 替换为实际的输出路径和文件名
' 关闭工作簿
wb.Close
MsgBox "CSV文件已成功合并到Excel工作表中。"
End Sub
```
请将代码中的`FolderPath`替换为包含CSV文件的实际文件夹的路径,并将`wb.SaveAs`中的输出路径和文件名替换为您希望保存合并数据的位置。运行宏时,它将遍历文件夹中的所有CSV文件,并将它们合并到新的Excel工作表中,然后保存为一个名为"CombinedData.xlsx"的文件。
阅读全文