Я пытаюсь удалить ячейки VBA в столбце Z. Я нашел фрагмент кода, с которым я играл (ниже), однако он очень медленный. Должен быть более быстрый способ выполнить эту задачу. Я знаю, что использование .Select
замедляет это, но сейчас это работает. Любые идеи по повышению скорости будут высоко оценены. Также было бы неплохо добавить динамическое число строк для установки диапазона.
Sub DeleteValues() 'This works but is really slow
Dim x As Integer
Dim i As Integer
Dim Arr(1 To 7) As String
Arr(1) = "First search item"
Arr(2) = "Second search item"
Arr(3) = "Third search item"
Arr(4) = "Fourth search item"
Arr(5) = "Fifth search item"
Arr(6) = "Sixth search item"
Arr(7) = "Seventh search item"
Range("Z1").Select
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
For x = 1 To 70 'for 70 rows
For i = 1 To 7 'number of items in the Array
If ActiveCell.Value = Arr(i) Then
ActiveCell.Delete
End If
Next i
ActiveCell.Offset(1, 0).Select
Next x
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
End Sub