Arrays 使用整数数组自动筛选多个条件

Arrays 使用整数数组自动筛选多个条件,arrays,excel,vba,autofilter,Arrays,Excel,Vba,Autofilter,我认为我遇到了数据类型问题。我正在从Tableau中导出一个表作为.csv,并尝试使用一列整数帐户ID(导出为“通用格式”),然后将这些值输入到数组中。然后,我想在自动筛选中使用该整数数组,以便筛选多个条件(可能需要筛选许多整数ID,而不仅仅是2个)。我还希望通过包含我试图针对的组的LOB数组进行筛选 当我直接从工作表中设置bikerr=Tester.Range(“A2:A”&lastRow)时,自动筛选不起作用。我尝试在Excel中将这些值格式化为“文本”。我还尝试在ID之前添加“'”以强制其

我认为我遇到了数据类型问题。我正在从Tableau中导出一个表作为.csv,并尝试使用一列整数帐户ID(导出为“通用格式”),然后将这些值输入到数组中。然后,我想在自动筛选中使用该整数数组,以便筛选多个条件(可能需要筛选许多整数ID,而不仅仅是2个)。我还希望通过包含我试图针对的组的LOB数组进行筛选

当我直接从工作表中设置
bikerr=Tester.Range(“A2:A”&lastRow)
时,自动筛选不起作用。我尝试在Excel中将这些值格式化为“文本”。我还尝试在ID之前添加“'”以强制其显示为文本,但当我直接从
测试仪
工作表中填充
bikerar
时,我的过滤器无法工作。 如果我使用
bikerar=Array(“145”、“147”、“11868”、“281”)
tablearcsa
会正确过滤。它将首先过滤3个LOB,然后过滤每个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

我找到了解决问题的办法。使用
CStr
函数,它将整数转换为字符串,并在自动过滤器中工作

Sub testArray()
Dim bikeARR, LOB As Variant
Dim TableauRCSA, Tester As Worksheet
Dim lastRow, total 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

'Fill Team List array
ReDim bikeARR(0 To (lastRow - 1))
i = 0
For x = 2 To lastRow 'NOTE: Team list starts at C2
    bikeARR(i) = CStr(Tester.Cells(x, 1).Value) 'convert integer to string
    i = i + 1
Next x

LOB = Array("Commercial Banking", "Commercial Real Estate", "Corporate Banking")


TableauRCSA.Activate
TableauRCSA.Range("A1").AutoFilter Field:=1, Criteria1:=LOB, Operator:=xlFilterValues 
'Filter for LOB element
TableauRCSA.Range("A1").AutoFilter Field:=2, Criteria1:=bikeARR, Operator:=xlFilterValues 'Filter for BIKE IDs
End Sub

是这样吗
Dim bArr作为变量Dim tArr()作为字符串bArr=Array(1,2,3,4,5)tArr=Split(Join(bArr,“|”)连接