vb 合并多个excel到一个excel的不同工作簿

  • 直接在wps宏编辑器里面新建--模块,就可以直接运行
  • 复制代码
    Sub Books2Sheets()
        '定义对话框变量
        Dim fd As FileDialog
        Set fd = Application.FileDialog(msoFileDialogFilePicker)
    
        '新建一个工作簿
        Dim newwb As Workbook
        Set newwb = Workbooks.Add
    
        With fd
            If .Show = -1 Then
                '定义单个文件变量
                Dim vrtSelectedItem As Variant
                
                '定义循环变量
                Dim i As Integer
                i = 1
                
                '开始文件检索
                For Each vrtSelectedItem In .SelectedItems
                    '打开被合并工作簿
                    Dim tempwb As Workbook
                    Set tempwb = Workbooks.Open(vrtSelectedItem)
                    
                    '复制工作表
                    tempwb.Worksheets(1).Copy Before:=newwb.Worksheets(i)
                    
                    '把新工作簿的工作表名字改成被复制工作簿文件名,这儿应用于xls文件,即Excel97-2003的文件,如果是Excel2007,需要改成xlsx
                    newwb.Worksheets(i).Name = VBA.Replace(tempwb.Name, ".xls", "")
                    
                    '关闭被合并工作簿
                    tempwb.Close SaveChanges:=False
                    
                    i = i + 1
                Next vrtSelectedItem
            End If
        End With
    
        Set fd = Nothing
    End Sub
    复制代码

     

posted @   dafengchui  阅读(384)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
历史上的今天:
2018-08-05 f12下载音乐
点击右上角即可分享
微信分享提示