【发布时间】:2020-05-25 23:06:37
【问题描述】:
我相信我遇到了数据类型问题。我正在从 Tableau 将工作表导出为 .csv,并尝试使用一列整数帐户 ID(导出为“常规格式”)并将这些值输入到数组中。然后我想在我的自动过滤器中使用该整数数组,这样我就可以过滤多个条件(我可能需要过滤许多整数 ID,而不仅仅是 2 个)。我还想按包含我要定位的组的 LOB 数组进行过滤。
当我直接从工作表设置bikeARR = Tester.Range("A2:A" & lastRow) 时,自动过滤器不起作用。我试图在 Excel 中将值格式化为“文本”。我还尝试在 ID 之前添加“'”以强制它显示为文本,但是当我直接从 Tester 表填写 bikeARR 时,我的过滤器不起作用。
如果我正确使用bikeARR = Array("145", "147", "11868", "281") TableauRCSAfilters。它将首先过滤 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
【问题讨论】:
-
是这样的吗?
Dim bArr As Variant Dim tArr() As String bArr = Array(1, 2, 3, 4, 5) tArr = Split(Join(bArr, "|"), "|")
标签: arrays excel vba autofilter