【问题标题】:combining all the data into new sheet,excluding first sheet将所有数据合并到新工作表中,不包括第一张工作表
【发布时间】:2017-07-14 07:05:26
【问题描述】:

我的工作簿中有 4 张工作表。我想将所有数据合并到新工作表中。我得到了我在下面写的代码。但现在我不想在新工作表中显示 sheet1 数据。附上工作表供您参考。提前致谢!!!!

          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

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    只需对您的代码进行微小的更改即可完成这项工作:

            Sub Combine()
              Dim Lastrow As Integer
              Dim J As Integer
              On Error Resume Next
              Sheets(1).Select
              Worksheets.Add
              Sheets(1).Name = "Combined"
              Sheets(3).Activate
              Range("A1").EntireRow.Select
              Selection.Copy Destination:=Sheets(1).Range("A1")
              For J = 3 To Sheets.Count
                Sheets(J).Activate
                ' First delete the empty rows
                Lastrow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
                Range("A2:L" & Lastrow).Select
                Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
                ' Then select the region as a table
                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
    

    【讨论】:

    • 很高兴!
    • 我的一些工作表在数据之间有间隙(1 个或多个空行)。而上面的代码只采用 continue data 。我需要在我的工作表中合并整个数据。请做需要的事。谢谢!!
    • 嗨,我编辑了代码以考虑空行,基本上选择所有数据并删除空行,然后选择数据区域(作为带有表头的表格)。
    • 很高兴!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多