以下是一个 VBA 程序,可以将多个 Excel 工作簿中的所有工作表合并到一个新的工作簿中。请注意,此程序将所有的工作表都合并到一个新工作簿中,如果您只想合并某些工作表,则需要根据需要进行修改。

Sub MergeWorkbooks()
    
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim newWorkbook As Workbook
    Dim newWorksheet As Worksheet
    Dim selectedFiles As FileDialog
    Dim file As Variant
    Dim copyRange As Range
    Dim pasteRange As Range
    
    '选择要合并的工作簿
    Set selectedFiles = Application.FileDialog(msoFileDialogOpen)
    selectedFiles.AllowMultiSelect = True
    selectedFiles.Show
    
    '创建新工作簿
    Set newWorkbook = Workbooks.Add
    
    '循环遍历每个选择的文件
    For Each file In selectedFiles.SelectedItems
        
        '打开工作簿
        Set wb = Workbooks.Open(file)
        
        '循环遍历每个工作表
        For Each ws In wb.Worksheets
            
            '复制工作表
            ws.Copy
            
            '在新工作簿中粘贴工作表
            Set newWorksheet = newWorkbook.Worksheets.Add
            newWorksheet.Name = ws.Name
            
            Set copyRange = ws.UsedRange
            Set pasteRange = newWorksheet.Range('A1')
            copyRange.Copy pasteRange
            
        Next ws
        
        '关闭工作簿
        wb.Close False
        
    Next file
    
End Sub
VBA 合并多个 Excel 工作簿中的工作表

原文地址: https://www.cveoy.top/t/topic/n4KN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录