You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将多份单工作表CSV文件合并至RDI raw data.xlsm的多工作表中

批量导入CSV文件到指定Excel工作簿

以下是针对需求的VBA解决方案,可直接在RDI raw data.xlsm中运行:

VBA代码实现

打开RDI raw data.xlsm,按Alt+F11打开VBA编辑器,插入新模块后粘贴以下代码:

Sub ImportAllCSVs()
    Dim csvPath As String
    Dim csvFile As String
    Dim ws As Worksheet
    
    ' 修改为你的CSV文件实际存放路径,注意末尾加反斜杠
    csvPath = "C:\YourCSVFilesFolder\"
    
    ' 校验路径有效性
    If Dir(csvPath, vbDirectory) = "" Then
        MsgBox "指定的CSV文件夹不存在,请检查路径!", vbExclamation
        Exit Sub
    End If
    
    ' 遍历文件夹下所有CSV文件
    csvFile = Dir(csvPath & "*.csv")
    Do While csvFile <> ""
        ' 处理工作表命名:去掉CSV后缀
        Dim sheetName As String
        sheetName = Left(csvFile, Len(csvFile) - 4)
        
        ' 检查是否已有同名工作表,有则清空,无则新建
        On Error Resume Next
        Set ws = ThisWorkbook.Worksheets(sheetName)
        If Err.Number <> 0 Then
            Set ws = ThisWorkbook.Worksheets.Add(After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count))
            ws.Name = sheetName
        Else
            ws.Cells.Clear
        End If
        On Error GoTo 0
        
        ' 导入CSV数据(默认逗号分隔,可按需调整)
        With ws.QueryTables.Add(Connection:="TEXT;" & csvPath & csvFile, Destination:=ws.Range("A1"))
            .TextFileParseType = xlDelimited
            .TextFileCommaDelimiter = True
            .Refresh BackgroundQuery:=False
            .Delete ' 移除查询链接,仅保留静态数据
        End With
        
        csvFile = Dir
    Loop
    
    MsgBox "所有CSV文件导入完成!", vbInformation
End Sub

关键细节调整

  • 路径修改:务必将csvPath的值替换为你的CSV文件实际存储路径
  • 分隔符适配:若CSV使用制表符或其他分隔符,将.TextFileCommaDelimiter = True改为对应设置(如制表符用.TextFileTabDelimiter = True)
  • 重复文件处理:代码默认覆盖同名工作表数据,若需跳过重复文件,可在工作表判断逻辑中添加Exit Do或Continue Do分支
  • 宏权限:保存文件后需启用宏才能运行,确保Excel宏安全设置允许执行此工作簿的宏

内容的提问来源于stack exchange,提问作者Waptrick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 19:10:26