Удалить ячейку в столбце, если значение соответствует значению в массиве - PullRequest
0 голосов
/ 13 ноября 2018

Я пытаюсь удалить ячейки 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...