VBA 指定文件夹下的csv格式的工作表中所有数据复制到新表格,新表格格式为xlsx
时间: 2024-03-28 08:36:45 浏览: 198
可以使用 VBA 中的 FileSystemObject 对象和 Workbook 对象来完成该任务。以下是一个示例代码:
```
Sub CopyCSVDataToNewWorkbook()
Dim FSO As Object ' FileSystemObject
Dim SourceFolder As Object ' 文件夹对象
Dim FileItem As Object ' 文件对象
Dim SourceFile As String ' CSV文件路径
Dim NewWorkbook As Workbook ' 新工作簿对象
Dim NewWorksheet As Worksheet ' 新工作表对象
Dim CSVData As String ' CSV文件中的数据
' 指定 CSV 文件所在的文件夹路径
Set FSO = CreateObject("Scripting.FileSystemObject")
Set SourceFolder = FSO.GetFolder("C:\CSV Files")
' 循环遍历文件夹中的 CSV 文件
For Each FileItem In SourceFolder.Files
If Right(FileItem.Name, 4) = ".csv" Then ' 如果是 CSV 文件
SourceFile = FileItem.Path ' 获取文件路径
' 打开 CSV 文件
Open SourceFile For Input As #1
CSVData = Input(LOF(1), 1) ' 读取文件中的数据
Close #1
' 创建新工作簿和工作表
Set NewWorkbook = Workbooks.Add
Set NewWorksheet = NewWorkbook.Sheets(1)
' 将 CSV 数据复制到新工作表
NewWorksheet.Range("A1").Value = CSVData
' 保存新工作簿为 xlsx 格式
NewWorkbook.SaveAs "C:\New Files\" & Replace(FileItem.Name, ".csv", ".xlsx"), FileFormat:=51
' 关闭新工作簿
NewWorkbook.Close
End If
Next
End Sub
```
请将代码中的文件夹路径和保存路径替换为您实际使用的路径。
阅读全文