Мне кажется, у меня проблема с типом данных. Я экспортирую лист как .csv из Таблицы и пытаюсь использовать столбец целых идентификаторов счетов (который экспортируется как «Общий формат») и вводить эти значения в массив. Затем я хочу использовать этот массив целых чисел в моем автофильтре, чтобы я мог отфильтровать несколько критериев (может быть много целочисленных идентификаторов, по которым мне может понадобиться фильтровать, а не только 2). Я также хочу фильтровать по массиву больших объектов, который содержит группы, на которые я пытаюсь нацелиться.
Когда я устанавливаю bikeARR = Tester.Range("A2:A" & lastRow)
непосредственно с листа, автофильтр не работает. Я пытался отформатировать значения как «ТЕКСТ» в Excel. Я также попытался добавить знак «» перед идентификаторами, чтобы он отображался в виде текста, но когда я заполняю bikeARR
непосредственно с листа Tester
, мой фильтр не работает. Если я использую bikeARR = Array("145", "147", "11868", "281")
, то TableauRCSA
фильтрует правильно. Сначала он отфильтрует 3 объекта, а затем отфильтрует каждое из значений ID. Я считаю, что массив должен быть текстовым значением, но как я могу заставить это произойти, когда я заполняю свой массив?
Sub testArray()
Dim bikeARR, LOB As Variant
Dim TableauRCSA, Tester As Worksheet
Dim lastRow As Integer
Set TableauRCSA = Workbooks("BPM_Sprint_SharePoint_Tracking.xlsm").Sheets("IPRC_Publish_Process_Model_+_RC")
Set Tester = Workbooks("BPM_Sprint_SharePoint_Tracking.xlsm").Sheets("Tester")
lastRow = Tester.Cells(Rows.Count, 1).End(xlUp).Row
'bikeARR = Tester.Range("A2:A" & lastRow)
bikeARR = Array("145", "147", "11868", "281")
LOB = Array("CB", "CRE", "CIB")
TableauRCSA.Activate
TableauRCSA.Range("A1").AutoFilter Field:=1, Criteria1:=LOB, Operator:=xlFilterValues 'Filter for LOB element
TableauRCSA.Range("B1").AutoFilter Field:=2, Criteria1:=bikeARR, Operator:=xlFilterValues 'Filter for BIKE IDs
End Sub