我录制了一个宏来创建一个表并过滤掉第9列上的某些值。我想显示所有结果except for Taxes and General
。生成的代码以相反的方式工作,并对您希望查看的字段进行过滤。
如何切换它,以便硬编码我不想看到的值。因此,当添加新值时,它也会被自动拾取,否则会被遗漏。
LastRow = Sheets(Sheets(1).Name).Cells(Rows.Count, "A").End(xlUp).Row
ActiveSheet.ListObjects.Add(xlSrcRange, Range("A1:T" & LastRow), , xlYes).Name = "Table1"
ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=9, Criteria1:= _
Array("Intel", "Cisco", "Global", "Local", "HR", "Finance", _
"Cables", "HP"), Operator:=xlFilterValues
答案 0 :(得分:1)
你做不到。这不是AutoFilter的工作原理,也不是VBA。
见how to use AutoFilter。 VBA允许您操作过滤器的属性,而不是定义它的新工作方式。
您最好的机会是使用另一个宏来使用新值更新过滤器。您可以选择是希望用户激活该宏还是由Worksheet.Change
等事件触发。