繁体   English   中英

如何将行从其他工作表复制到目标工作表?

[英]How do I copy rows from other sheets to the target sheet?

我有一个情况,如果你能帮助我,我真的很感激,我已经浏览了 SOF 上发布的问题的所有解决方案,这些问题仅与我的问题有关,但我仍然找不到解决方法!

我有一个主表,列名 a 到 z(例如),我还有许多其他名称不同的表,它们具有相同的列模式,现在我想要一个代码来复制从第 2 行开始的其他表中的行每个工作表,到主工作表中的下一个空行。 此外,每个工作表都有可变数量的无法指定的行。 如果你能帮助我,我真的很佩服!!!

For Each是您的朋友 - 您可以循环所有Worksheets和所有行,只需将非主表中的行指向主表的最后一行。

Sub ConsolidateWorksheets(ByVal MasterSheet As Worksheet)
    MasterLastRow = MasterSheet.Range("A" & MasterSheet.Rows.Count).End(xlUp).Row + 1

    For Each DataSheet In ThisWorkbook.Sheets
        LastRow = DataSheet.Range("A" & DataSheet.Rows.Count).End(xlUp).Row
        If DataSheet.Name <> MasterSheet.Name Then
            For Each DataRow In DataSheet.Range("A2:A" & LastRow)
                MasterSheet.Range("A" & MasterLastRow & ":Z" & MasterLastRow).Value = DataSheet.Range("A" & DataRow.Row & ":Z" & DataRow.Row).Value
                MasterLastRow = MasterLastRow + 1
            Next DataRow
        End If
    Next DataSheet
End Sub

Sub Launcher()
    Set MasterSheet = ThisWorkbook.Sheets(1) ' Comment this row after testing
    ' Set MasterSheet = ThisWorkbook.Sheets("YourWorksheetNameHere") ' Uncomment this row after testing and update the name of your Master Sheet

    ConsolidateWorksheets MasterSheet

End Sub

您可以通过运行Sub Launcher()来运行此代码

sub test()
  dim MainSheetusedrows,OtherSheetusedrows as integer
  dim noOfSheets as integer

  noOfSheets = Thisworkbook.Sheets.Count

  for i = 1 to noOsfSheets
     sheets(i).activate
     OtherSheetusedrows = sheets(i).Range("A"& activesheet.rows.count).end(xlup).row
     sheets(i).Range("A2:Z"& OtherSheetusedrows).copy
     Sheets("MainSheet").activate
     MainSheetusedrows=Sheets("MainSheet")._
                      Range("A" & activesheet.rows.count).end(xlup).row
     Sheets("MainSheet").Range("A" & MainSheetusedrows + 1).select
     Activesheet.paste
  next
end sub

此代码将遍历所有工作表和“OtherSheetusedrows”,并获取每张工作表中的行数并将使用的数据复制到主工作表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM