Недавно я получил 500 тыс. Строк Excel из базы данных бухгалтерского учета. Текущий файл не может быть использован в его текущем формате и слишком велик. Я надеюсь уменьшить Excel, удалив пустые строки-разделители, которые находятся между каждой строкой с фактическими числами (за исключением того, что в этих строках-разделителях есть три ячейки, которые содержат тезисы (например, формулы, которые выпадают ""), которые предотвращают строку от того, чтобы быть полностью пустым).
Я попытался запустить следующий код, но, поскольку файл очень большой, Excel вылетает при запуске макроса. Мне известно об использовании SourceRange = Application.Selection, но я не собираюсь создавать функцию, позволяющую запускать макрос, и она будет постоянно удалять, скажем, 25 тыс. Строк за раз, в отличие от ручного выбора диапазона или использования следующего кода ниже.
Какой будет лучший метод?
Sub DeleteBlankRows()
Dim x As Long
With ActiveSheet
For x = .Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
If WorksheetFunction.CountA(.Rows(x)) <= 3 Then
ActiveSheet.Rows(x).Delete
End If
Next
End With
End Sub