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

VBA代码修改求助:实现从多个选中的Excel文件批量提取数据

VBA批量选中多Excel文件提取数据修改方案

核心修改逻辑

  • 开启文件选择框的多选权限,支持一次性选中多个目标xlsm文件
  • 移除原有单次选择后的询问跳转逻辑,改为直接遍历所有选中的文件批量处理
  • 增加取消选择的异常判断,避免无文件选中时程序报错
  • 将屏幕刷新开关移到循环外部,提升批量处理效率
  • 保留原有的值粘贴逻辑,不改动原文件数据

修改后完整代码

Sub 批量提取Sheet1数据到总表()
    Application.ScreenUpdating = False
    Dim flder As FileDialog
    Dim FileChosen As Integer
    Dim selectedFile As Variant
    Dim wkbSource As Workbook
    Dim wkbDest As Workbook
    Dim destLastRow As Long
    
    Set wkbDest = ThisWorkbook
    
    ' 初始化文件选择框
    Set flder = Application.FileDialog(msoFileDialogFilePicker)
    With flder
        .Title = "请选择需要提取数据的Excel文件(可多选)"
        .InitialFileName = "c:\"
        .InitialView = msoFileDialogViewSmallIcons
        .Filters.Clear
        .Filters.Add "Excel Files", "*.xlsm*"
        .AllowMultiSelect = True ' 核心修改:允许多选
    End With
    
    MsgBox "可按住Ctrl/Shift多选目标文件,选完后点击确定"
    FileChosen = flder.Show
    
    ' 判断用户是否点击了取消
    If FileChosen <> 1 Then
        MsgBox "未选中任何文件,程序退出"
        GoTo Cleanup
    End If
    
    ' 遍历所有选中的文件
    For Each selectedFile In flder.SelectedItems
        Set wkbSource = Workbooks.Open(selectedFile)
        
        ' 计算总表当前最后一行
        destLastRow = wkbDest.Sheets("Master").Cells(wkbDest.Sheets("Master").Rows.Count, "A").End(xlUp).Row + 1
        
        ' 粘贴值
        wkbSource.Sheets("Sheet1").UsedRange.Copy
        wkbDest.Sheets("Master").Cells(destLastRow, "A").PasteSpecial xlPasteValues
        
        Application.CutCopyMode = False
        wkbSource.Close savechanges:=False
    Next selectedFile
    
    MsgBox "批量提取完成,共处理" & flder.SelectedItems.Count & "个文件"

Cleanup:
    Application.ScreenUpdating = True
    Set flder = Nothing
    Set wkbSource = Nothing
    Set wkbDest = Nothing
End Sub

可选调整项

  • 如果所有源文件的Sheet1都带有相同表头,不需要重复粘贴,可以在粘贴代码处加判断:如果是第一个文件就保留表头,后续文件从UsedRange的第二行开始复制即可
  • 如果需要支持xlsx、xls等其他格式,直接修改Filters里的后缀规则就行,比如改成"*.xlsm;*.xlsx;*.xls"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:09:03