【问题标题】:Merge sheets from multiple workbooks into one sheet将多个工作簿中的工作表合并到一张工作表中
【发布时间】:2019-04-04 16:50:19
【问题描述】:

我有许多不同工作表和相同格式的 excel。是否有任何插件可用于将所有工作表组合成目标文件中的“合并”工作表?

但是下面的代码不能合并成一张

Sub GopFileExcel()
Dim FilesToOpen
Dim x As Integer
On Error GoTo ErrHandler
Application.ScreenUpdating = False
FilesToOpen = Application.GetOpenFilename _
(FileFilter:="hMicrosoft Excel Files (*.xlsx), *.xlsx", 
MultiSelect:=True, Title:="Files to Merg")
If TypeName(FilesToOpen) = “Boolean” Then
MsgBox "No Files were selected"
GoTo ExitHandler
End If
x = 1
While x <= UBound(FilesToOpen)
Workbooks.Open Filename:=FilesToOpen(x)
Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
x = x + 1
Wend
ExitHandler:
Application.ScreenUpdating = True
Exit Sub
ErrHandler:
MsgBox Err.Description
Resume ExitHandler
End Sub

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    要做的第一件事是将所有工作表放入一个工作簿中。这是一些可以帮助解决此问题的代码。

    Sub GetSheets()
    
    Path = "C:\Users\USERNAME\Downloads\Test\" 'File path will all your separate files
    
    Filename = Dir(Path & "*.xls")
        Do While Filename <> ""
            Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
            For Each Sheet In ActiveWorkbook.Sheets
                Sheet.Copy After:=ThisWorkbook.Sheets(1)
            Next Sheet
            Workbooks(Filename).Close
            Filename = Dir()
        Loop
    
    End Sub
    

    然后您可以编写一个循环来遍历所有工作表并将数据移动到一张工作表中。

    【讨论】:

      【解决方案2】:

      跟进@Chrismas007 的回答,在一个工作簿中拥有所有工作表后,您可以使用下面的 sn-p 将所需范围复制到所需的目标工作表。这会将您复制的部分附加到目标表中下一个未使用的列。

      Dim ws As Worksheets
      Dim lastcol As Integer
      
      For Each ws In Worksheets
         ThisWorkbook.Worksheets(ws).Column(copyrange).Copy
         lastcol = Worksheets(targetsheet).Cells(1, Columns.Count).End(xlToLeft).Column + 1
         ThisWorkbook.Worksheets(targetsheet).Cells(1, lastcol).PasteSpecial
       Paste:=xlPasteValues, operation:=xlNone
      Next
      

      【讨论】:

        猜你喜欢
        • 2017-09-09
        • 1970-01-01
        • 1970-01-01
        • 2021-01-24
        • 2021-11-25
        • 2022-12-24
        • 1970-01-01
        • 1970-01-01
        • 2021-08-09
        相关资源
        最近更新 更多