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

如何编写VBA过程Generate_Database实现3个xls文件导入3个工作表

Generate_Database 过程实现代码
Sub Generate_Database(SelectedFile As Variant)
    Dim wbSource As Workbook
    Dim wsTarget As Worksheet
    Dim i As Integer
    Dim fileName As String
    
    ' 关闭屏幕更新和弹窗警告,提升运行效率
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    
    On Error GoTo ErrHandler ' 异常捕获
    
    ' 遍历选中的文件,最多处理3个
    For i = LBound(SelectedFile) To UBound(SelectedFile)
        If i > 3 Then Exit For
        
        ' 提取源文件名作为工作表名,适配Excel命名规则
        fileName = Mid(SelectedFile(i), InStrRev(SelectedFile(i), "\") + 1)
        fileName = Left(fileName, InStrRev(fileName, ".") - 1) ' 去掉文件后缀
        fileName = Left(fileName, 31) ' 工作表名最多支持31个字符
        
        ' 可选:删除已存在的同名旧工作表,不需要可删除此段
        For Each wsTarget In ThisWorkbook.Worksheets
            If wsTarget.Name = fileName Then
                wsTarget.Delete
                Exit For
            End If
        Next
        
        ' 新建导入用的工作表
        Set wsTarget = ThisWorkbook.Worksheets.Add(After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count))
        wsTarget.Name = fileName
        
        ' 只读打开源文件,不修改原始数据
        Set wbSource = Workbooks.Open(SelectedFile(i), ReadOnly:=True)
        
        ' 复制源文件第一个工作表的所有数据到目标表
        wbSource.Worksheets(1).UsedRange.Copy Destination:=wsTarget.Range("A1")
        
        ' 关闭源文件
        wbSource.Close SaveChanges:=False
    Next i
    
    MsgBox "导入完成,共处理" & (i - 1) & "个文件", vbInformation, "操作成功"
    
ExitSub:
    ' 恢复Excel默认设置
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    Exit Sub
    
ErrHandler:
    MsgBox "导入出错:" & Err.Description, vbCritical, "错误"
    Resume ExitSub
End Sub

使用说明

  • 支持1-3个文件导入,每个文件对应生成独立工作表,工作表默认使用源文件的文件名
  • 默认读取源文件的第一个工作表内容,如果你需要指定读取的工作表,可以修改wbSource.Worksheets(1)中的序号,或者替换为工作表名称,比如wbSource.Worksheets("数据页")
  • 如果不需要覆盖旧的导入数据,删除代码中「删除已存在的同名旧工作表」片段即可
  • 全程只读打开原始文件,不会修改你原有的xls文件内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 05:18:03