嘿,我的脚本字典出了点问题。它应该过滤掉给定的文本,但它也过滤了列中的数值(0,1,2),我希望这些数值都显示出来。
任何帮助都将不胜感激!
'Filter Prefixes
Set arr = CreateObject("scripting.dictionary")
With ActiveSheet
lr = .Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lr
Select Case UCase(.Cells(i, "C").Value2)
Case "NA", "ND", "NH", "NK", "NL", "NQ", "NV"
'do nothing
Case Else
arr.Item(.Cells(i, "C").Value2) = vbNullString
End Select
Next i
.Range("A1:CU" & lr).AutoFilter Field:=3, Criteria1:=arr.keys,
Operator:=xlFilterValues
End With发布于 2019-02-07 05:30:56
我相信这就是你要找的:
arr.Item(CStr(.Cells(i, "C").Value2))
发布于 2019-02-07 05:31:11
在将值添加到过滤器字典之前,只需添加一个测试来查看该值是否为数字:
Select Case UCase(.Cells(i, "C").Value2)
Case "NA", "ND", "NH", "NK", "NL", "NQ", "NV"
'do nothing
Case Else
If Not IsNumeric(.Cells(i, "C").Value2) Then
arr.Item(.Cells(i, "C").Value2) = vbNullString
End If
End Selecthttps://stackoverflow.com/questions/54562470
复制相似问题