Я использую Excel 365 и пытаюсь удалить много строк различий и у меня есть рабочий код, но это очень неэффективно.Удаление 500 из примерно 2000 строк занимает много времени по сравнению с ручной фильтрацией столбца, выделением строк и удалением, поэтому я подумал, что нужно удалить все строки, которые нужно удалить, и сделать это за один раз, но не удалось.Мой рабочий код:
' When cell contains TRUE, erase that row
For i = LastRow To firstDataRow Step -1
If Cells(i, eraseCol).Value = True Then
sheetdata.Rows(i).Delete
LastRow = LastRow - 1
End If
Next
То, что я пытаюсь сделать, что не работает:
For i = LastRow To firstDataRow Step -1
' collect all rows to be deleted in range r
If Cells(i, eraseCol).Value = True Then
r = Union(Rows(i), r)
End If
Next
r.Delete
Любая идея, как я могу получить все строки, которые будут удалены в r и сделатьэто сразу?Или, может быть, есть лучший способ?