Я много искал и пробовал много разных вещей, но не могу заставить работать следующее:
У меня есть ряд идентификаторов, которые я генерирую.Затем я хочу отфильтровать диапазон данных, чтобы получить отфильтрованный вывод только указанных идентификаторов.Однако, что бы я ни пытался, мой отфильтрованный вывод просто возвращает пустой диапазон.
Обратите внимание: мой диапазон идентификаторов изменяется по размеру при каждом запуске этого процесса.Я включил очень упрощенный набор данных, чтобы проиллюстрировать мою точку зрения - мои реальные данные намного сложнее, чем мой пример.
Код, который у меня есть на данный момент:
Sub Test()
Dim Template As Workbook
Set Template = ThisWorkbook
Dim IDs, Report As Worksheet
Set IDs = Template.Worksheets("IDs")
Set Report = Template.Worksheets("Report")
Dim LastRowIDs As Long
LastRowIDs = IDs.Range("A" & IDs.Rows.Count).End(xlUp).Row
Dim IDsArray As Variant
IDsArray = IDs.Range("A2:A" & LastRowIDs)
Dim LastRowReport As Long
LastRowReport = Report.Range("A" & Report.Rows.Count).End(xlUp).Row
Report.AutoFilterMode = False
Report.Range("A1:C" & LastRowReport).AutoFilter Field:=1, Criteria1:=Application.Transpose(IDsArray), Operator:=xlFilterValues
End Sub
IЯ бы сказал, что я являюсь средним пользователем VBA, поэтому, пожалуйста, объясните любые ответы.
Диапазон для фильтрации
Данные для фильтрации
Желаемый выход