2015-10-13 39 views
0

我錄製了一個宏來創建一個表並過濾掉第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 

回答

1

你不能那樣做。這不是AutoFilter的工作原理,也不是VBA。

請參閱how to use AutoFilter。 VBA允許您操作過濾器的屬性,而不是定義新的工作方式。

您最好的機會是使用另一個宏以新值更新過濾器。您可以選擇是要讓該宏被用戶激活,還是由諸如Worksheet.Change之類的事件觸發。

+0

哇真的嗎?該死的,這是一個無賴.. – CustomX

+0

@CustomX這並不太可怕。這不會是一個非常難寫的宏(當然你可以錄製一個「引導」宏來編輯更改)。 – Amit

+0

是的,但最終會不會給我同樣的結果?它會一直忽略列表中的新項目嗎? – CustomX