下一个循环没有停止的问题

Trouble with for next loop not stopping

我正在尝试获取多个 sheet 的所有行,并复制 D 列 中包含 waiting 的单元格到一个叫等待的sheet。这是代码。循环 运行 太远导致重复粘贴。
我认为是 j = j + 1 造成的,但我不知道如何纠正它。

Sub Waiting()

  ' unfilter entire workbook

   Dim sh As Worksheet

   For Each sh In Worksheets

      sh.AutoFilterMode = False
   Next sh

  ' copy rows to waiting sheet

  Dim c As Range
  Dim j As Integer
  Dim Target As Worksheet

  Set Target = ActiveWorkbook.Worksheets("Waiting")

  j = 1

  For Each sh In Worksheets
    For Each c In sh.Range("D1:D250")   ' Do 1000 rows
      If c = "waiting" Then
         sh.Rows(c.Row).Copy Target.Rows(j)
         j = j + 1
      End If
    Next c
  Next sh
 ' j=j+1 is causing infinite loop

End Sub

如果 sh.name = target.name,您需要跳过 sh

Dim c As Range
Dim j As Integer
Dim Target As Worksheet

Set Target = ActiveWorkbook.Worksheets("Waiting")
j = 1

For Each sh In Worksheets
    if sh.name <> target.name then
        For Each c In sh.Range("D1:D250")   ' Do 1000 rows
            If c = "waiting" Then
               sh.Rows(c.Row).Copy Target.Rows(j)
               j = j + 1
            End If
        Next c
    end if
Next sh