У меня есть следующие функции для запуска на большом первенствовать ковчега с 60k строк:Excel VBA исполняющие аварии
Private Sub mySub()
Dim intRowA As Long
Dim intRowB As Long
Application.ScreenUpdating = False
Range("W1").EntireColumn.Insert
For intRowA = 2 To ActiveSheet.UsedRange.Rows.Count
If Cells(intRowA, 6).Value = "C" Then
For intRowB = 2 To ActiveSheet.UsedRange.Rows.Count
If Cells(intRowB, 6).Value = "P" Then
If Cells(intRowA, 4).Value = Cells(intRowB, 4).Value And Cells(intRowA, 7).Value = Cells(intRowB, 7).Value Then
Cells(intRowA, 23).Value = "Matched"
Cells(intRowB, 23).Value = "Matched"
End If
End If
DoEvents
Next
End If
Next
For intRowA = ActiveSheet.UsedRange.Rows.Count To 2 Step -1
If Cells(intRowA, 23).Value <> "Matched" Then
Rows(intRowA).Delete shift:=xlShiftUp
End If
Next
Range("W1").EntireColumn.Delete
Application.ScreenUpdating = True
End Sub
Идея проверить, где F
столбцы C и сопоставить их со всеми F
строк, значение P
Тогда в конце Удалите все, что не соответствует
Проблема с этим кодом, насколько я могу видеть, заключается в том, что он запускает 60 тыс. строк 60 тыс. раз. что приводит к сбою моего сценария. я не уверен, как его улучшить и подумал, что вы, ребята, сможете это увидеть?
Это похоже, что это может быть сделано с помощью формулы массива ... –