我目前正在处理3个文件:新文件(Sht)-在其中写入宏,另外两个文件是wsSource和wsDest。新文件中约有1000行,wsSource中有约1000行。 LastRowAT是新文件的最后一行。 LastRowKS是wsDest的最后一行。 该代码匹配特定条件,然后根据这些条件将数据从wsSource复制到wsDest。 现在,因为我使用的是for循环并嵌套if,所以excel有时会崩溃并必须重新启动。 我可以以任何方式优化这段代码,以便花费更少的时间运行,更重要的是不会崩溃吗? P.S这只是示例数据。实际数据将在wsSource文件
中包含约100,000行For i = 2 To LastRowAT
If sht.Range("B" & i).Value = "Khusbhu Singh" And sht.Range("D" & i).Value = "Allocated" And sht.Range("C" & i).Value = Max_date Then
If sht.Range("A" & i).Value = Workbooks("CISF.xlsx").Worksheets("QUIDAM-INSURERS").Range("A" & i).Value Then
Set rngCopy = wsSource.Range("A" & i & ":V" & i)
rngCopy.Copy wsDest.Cells(LastRowKS, "I")
wsDest.Cells(LastRowKS, "I").Resize( _
rngCopy.Rows.Count, rngCopy.Columns.Count).Value = rngCopy.Value
wsDest.Range("A" & LastRowKS).Value = "Khusbhu Singh"
wsDest.Range("B" & LastRowKS).Value = Max_date
LastRowKS = LastRowKS + 1
End If
End If
Next i