首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >合并工作簿中除一个工作表之外的所有工作表

合并工作簿中除一个工作表之外的所有工作表
EN

Stack Overflow用户
提问于 2019-02-22 04:22:11
回答 2查看 250关注 0票数 0

我有一个工作簿,其中有许多具有不同名称的工作表,这些工作表需要合并到一个工作表中。我发现这个代码运行得很好,除了我需要它忽略一个名为"COMMAND“的工作表(它用于其他目的)。代码目前将创建一个名为"Combined“的工作表,并将所有工作表合并到它,但我更喜欢它,如果合并工作表不需要每次都创建和删除的话。为了清楚起见,除了名为"COMMAND“的工作表之外,此工作簿中的所有工作表都需要合并到”组合“工作表中。

代码语言:javascript
复制
Private Sub COMBINE()
Dim J As Integer
On Error Resume Next
Sheets(1).Select
Worksheets.Add
Sheets(1).Name = "Combined"
Sheets(2).Activate
Range("A1").EntireRow.Select
Selection.Copy Destination:=Sheets(1).Range("A1")
For J = 2 To Sheets.Count
Sheets(J).Activate
Range("A1").Select
Selection.CurrentRegion.Select
Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select
Selection.Copy Destination:=Sheets(1).Range("A65536").End(xlUp)(2)
Next
End Sub
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-22 16:53:08

您可以尝试:

代码语言:javascript
复制
Option Explicit

Sub test()

    Dim LastRow As Long
    Dim ws As Worksheet, wsCombined As Worksheet
    Dim SheetName As String
    Dim SheetExists As Boolean

    SheetName = "Combined"
    SheetExists = False

    With ThisWorkbook
        'Check if the Sheet exists
        For Each ws In .Worksheets

            If ws.Name = SheetName Then
                SheetExists = True
                Exit For
            End If

        Next

        If SheetExists = False Then
            'If the sheet dont exists, create
            .Sheets.Add(After:=.Sheets(.Sheets.Count)).Name = SheetName
        End If

        Set wsCombined = ThisWorkbook.Worksheets("Combined")

        For Each ws In .Worksheets

            If ws.Name <> "COMMAND" And ws.Name <> "Combined" Then

                LastRow = wsCombined.Cells(wsCombined.Rows.Count, "A").End(xlUp).Row

                ws.UsedRange.Copy wsCombined.Range("A" & LastRow + 1)

            End If

        Next

    End With

End Sub
票数 0
EN

Stack Overflow用户

发布于 2019-02-22 04:31:33

您可以使用以下代码,将工作表名称更改为第一个工作簿上的工作表名称,而不是Sheets(1).Select。

ThisWorkbook.Sheets("Sheet1").Copy

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54815621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档