VBA循环将数据从动态张数复制到第一张纸,从而复制了太多次

时间:2018-09-04 20:17:01

标签: excel vba loops

我在VBA上还很陌生,但是我试图遍历并复制动态数量的工作表数据(这些数据每月更改一次,并且长度有所变化),并且不包括前两张和最后一张工作表。数据从第六行开始,我想将所有内容复制到第一页的最后一行,名为Combined_Athlete。我下面的代码实际上有效,但是正在遍历数据5次并将内容重复项复制到第一个选项卡中。谁能帮我告诉我哪里出问题了?我设置了第二个变量以将数据从第六行复制到最后一行,因为它是从那里开始的,但是我不确定这是否是它复制5倍额外数据的原因。任何帮助表示赞赏!

Sub CopyAndCombineSheets()

    Dim i As Integer
    Dim j As Integer
    Dim ws As Worksheet
    Dim LastRow As Long

    For i = 3 To Worksheets.Count - 1

        For Each ws In Worksheets
        Worksheets(i).Select

        LastRow = ThisWorkbook.ActiveSheet.UsedRange.Rows.Count

                For j = 6 To LastRow
                    ThisWorkbook.ActiveSheet.Rows(j).Copy Sheets("Combined_Athlete").Range("A" & Sheets("Combined_Athlete").Range("A" & Rows.Count).End(xlUp).Row + 1)
                Next j

        Next ws

    Next i

End Sub

1 个答案:

答案 0 :(得分:1)

您正在所有工作表中循环两次。尝试这样的事情:

componentWillUnmount () {
      this._onFocusListener.remove()
}