Мои данные выглядят следующим образом:
Имя Значение Флаг
Алиса 5 ВЫКУП
Боб 8 Прыжок
Дан 9
Алиса 1
Алиса 6 прыжок
Дан 0 ВЫКУП
Боб 8 Прыжок
Если для любого имени в любой записи в поле «Флаг» есть «ВЫКУП», то я хочу сохранить все записи, связанные с этим именем. У Алисы есть 3 записи, и одна из них BUYBACK, поэтому я хочу сохранить все записи ALice. У Дэна есть выкуп в одном из двух, поэтому я хочу сохранить обе записи Дэна, пока обе записи Боба будут удалены.
Когда я пытаюсь сделать это ниже, я получаю сообщение об ошибке в своем автофильтре. Ошибка говорит: «Требуется объект». Я не могу понять, что не так.
n = 1
Dim BBK_Array() As Variant
For j = 1 To FinalRow
If Cells(j, 3).Value = "BUYBACK" Then
If n = 1 Then
ReDim Preserve BBK_Array(1 To n)
BBK_Array(n) = Cells(j, 1).Value
n = n + 1
ElseIf BBK_Array(n - 1) <> Cells(j, 1).Value Then
ReDim Preserve BBK_Array(1 To n)
BBK_Array(n) = Cells(j, 1).Value
n = n + 1
End If
End If
Next j
ActiveWorksheet.UsedRange.AutoFilter Field:=1, Criteria1:=BBK_Array(), Operator:=xlFilterValues
РЕДАКТИРОВАТЬ:
Когда я это сделал, это сработало. Я не знаю почему:
ActiveWorkbook.Activesheet.UsedRange.AutoFilter Field:=1, Criteria1:=BBK_Array(), Operator:=xlFilterValues