以下是一个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 Su

写一个VBA程序合并多个excel工作簿中的工作表到一个工作簿中

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

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