以下是可以实现上述条件的示例代码:
Sub CopyData()
Dim i As Integer, j As Integer, lastRow As Integer, targetSheet As Worksheet
javaCopy codelastRow = Cells(Rows.Count, "H").End(xlUp).RowFor i = 1 To lastRow
If Cells(i, 8).Value = 4 Then
If Cells(i + 1, 8).Value >= 5 And Cells(i + 2, 8).Value <= 4 Then Set targetSheet = Worksheets("A")
targetSheet.Range("F" & targetSheet.Cells(Rows.Count, "A").End(xlUp).Row + 1 & ":H" & targetSheet.Cells(Rows.Count, "A").End(xlUp).Row + 2).Value = Range("F" & i & ":H" & i + 2).Value
End If
End If
Next ilastRow = Cells(Rows.Count, "L").End(xlUp).RowFor i = 1 To lastRow
If Cells(i, 12).Value = 4 Then
If Cells(i + 1, 12).Value >= 5 And Cells(i + 2, 12).Value >= 5 And Cells(i + 3, 12).Value <= 4 Then Set targetSheet = Worksheets("B")
targetSheet.Range("J" & targetSheet.Cells(Rows.Count, "B").End(xlUp).Row + 1 & ":L" & targetSheet.Cells(Rows.Count, "B").End(xlUp).Row + 3).Value = Range("J" & i & ":L" & i + 3).Value
End If
End If
Next ilastRow = Cells(Rows.Count, "P").End(xlUp).RowFor i = 1 To lastRow
If Cells(i, 16).Value = 4 Then
If Cells(i + 1, 16).Value >= 5 And Cells(i + 2, 16).Value >= 5 And Cells(i + 3, 16).Value >= 5 And Cells(i + 4, 16).Value <= 4 Then Set targetSheet = Worksheets("C")
targetSheet.Range("N" & targetSheet.Cells(Rows.Count, "C").End(xlUp).Row + 1 & ":P" & targetSheet.Cells(Rows.Count, "C").End(xlUp).Row + 4).Value = Range("N" & i & ":P" & i + 4).Value
End If
End If
Next ilastRow = Cells(Rows.Count, "T").End(xlUp).RowFor i = 1 To lastRow
If Cells(i, 20).Value = 4 Then
If Cells(i + 1, 20).Value >= 5 And Cells(i + 2, 20).Value >= 5 And Cells(i + 3, 20).Value >= 5 And Cells(i + 4, 20).Value >= 5 And Cells(i + 5, 20).Value <= 4 Then Set targetSheet = Worksheets("D")
targetSheet
追问
提示出错了