如何在Excel Vba中使多个筛选器值不可见

时间:2017-12-06 10:35:13

标签: excel vba excel-vba excel-2010

我有一个包含15列(A:O)的表。在第12列(L)中包含200个国家/地区。我想使用InputBox从该过滤器中删除(隐藏)多于1个国家/地区。我使用下面的代码,它不起作用。它显示错误"类型不匹配"。

如果我不使用<> ,然后它只选择用户输入的数据。但我想取消选择用户输入的数据。如何使用"不等于"在一个数组内。帮帮我

Sub Removecountries()

Dim str1 As Variant
Dim Data As Variant

str1 = Application.InputBox("Enter the Country - comma separated ")

Sheet2.ListObjects("DataTable").Range.AutoFilter Field:=12

If InStr(1, str1, ",") > 0 Then
Data = Split(str1, ",")
For i = LBound(Data) To UBound(Data)

Sheet2.ListObjects("DataTable").Range.AutoFilter Field:=12, Criteria1:=Array("<>" & Data), Operator:=xlFilterValues 'error

Next i
Else

Sheet2.ListObjects("DataTable").Range.AutoFilter Field:=12, Criteria1:=("<>" & str1), Operator:=xlFilterValues

End If
End Sub

0 个答案:

没有答案