簡體   English   中英

用於多字符串自動過濾的Excel宏

[英]Excel macro for multiple string autofilter

我正在嘗試將代碼添加到宏中,以便根據特定列是否包含多個字符串之一來自動過濾。 這是我對2個字符串所做的操作(R是范圍):

R.AutoFilter Field:=ProductTypeCol, _
    Criteria1:=Array("*maintenance*", "*services*"), _
    Operator:=xlFilterValues

這完全符合我的預期,並為每個字符串顯示了一些行。 然后,我添加了第三個字符串並重新執行了宏:

R.AutoFilter Field:=ProductTypeCol, _
    Criteria1:=Array("*maintenance*", "*services*", "*training*"), _
    Operator:=xlFilterValues

而不是顯示其他行,這神秘地導致根本沒有行。

因此,為了尋找真相,我從所有三個字符串中刪除了星號,並得到了我所期望的:值恰好是這些字符串之一的行。 不幸的是,我真的需要那些星號。

我在這里想念什么嗎?

您不能使用通配符過濾兩個以上的條件。 如果要這樣做,則必須添加一個臨時幫助器列,或使用循環進行過濾,或采用其他解決方法。

據我所知,您不能使用通配符在同一列上通過兩個以上的條件進行過濾。 我認為您需要做的是將過濾要求移到由公式填充的附加列中,其內容如下:

假設ProductTypeCol在A列中。

=SUM(COUNTIF($A2,{"=*maintenance*","=*services*","=*training*"}))>0

然后在此列上過濾True(您可以根據需要將其擴展到更多搜索詞)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM