小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

vba autofilter 篩選

 昵稱2548375 2021-12-25

國外網(wǎng)站介紹VBA autofilter 很不錯

https:///vba-autofilter/#Example-Multiple-Criteria-With-Different-Columns

說實話國外的網(wǎng)站對于VBA的資料相對于國內(nèi)來說內(nèi)容更豐富更具有實用性。當然是Bing搜索引擎與百度引擎相比較。

1  顯示所有數(shù)據(jù),不隱藏數(shù)據(jù) (僅在Autofilter模式下使用)

  1. If Worksheets("Function").FilterMode = True Then
  2. Worksheets("Function").AutoFilter.ShowAllData
  3. Worksheets("Function").Rows.Hidden = False
  4. End If

但是如果是需要VBA高級篩選的話就不能用AutoFiler.ShowAllData 方法,否則報錯。因為這個方法只針對AutoFilter情況??梢該Q成Worksheets("XXX").ShowAllData 

 

 

2 多條件篩選(僅限于兩個篩選條件,如果多條件必須是高級篩選)

  1. With w.Range("A1")
  2. .AutoFilter Field:=2, Criteria1:= _
  3.         Array("Teller", "AIO","Plan"), Operator:=xlFilterValues
  4. .AutoFilter Field:=7, Criteria1:="<>t*", Operator:=xlFilterValues
  5. End With

其實有很多博客都寫了關(guān)于autofilter的函數(shù)方法,包括參數(shù)用途。但是這里我還是最終想講一下通配符的作用,沒錯就是“*”,“?”,“~”。這個坑的我好苦啊(應該是尋找答案的時間比較長,2天時間)

先簡要介紹一下這三種通配符。

通配符意義
~類似于轉(zhuǎn)義字符“\” 如果匹配的字符串中含有特殊字符,在特殊字符前加“~”
?代表一個字符
*代表一個或者多個字符

我的需求是第七列(也就是G列)篩選出不含有開頭為字母t的內(nèi)容。一開始以為Criteria篩選可以用正則表達式進行篩選,結(jié)果多次嘗試后根本就不行,然后無意間找到通配符這個功能,研究了一下,好像也不可以。VBA script regular express 引用也不可以??赡苁窍氲锰嗔耍掳嘣谲嚿贤蝗幌氲接?lt;>也就是不等于試一試,沒想到成功了。VBA的正則還是有一些不同的。我要好好記住它。

Criteria1:= "<>t*"

 

 

3 高級篩選

國外有一個網(wǎng)站寫的很好,不得不說國外的資料比較全。這是因為什么呢?我認為是他們很認真,國內(nèi)就恐怕做不到。謝謝這位作者。

https://www./blog/2015/2/16/advanced-filters-with-vba-to-automate-filtering-on-and-out-specific-values

上面網(wǎng)站講述了一個很好的例子。具體情況具體分析。

高級條件篩選

首先要創(chuàng)建一個篩選標準的Excel。如果是邏輯與的話,需要在同一行。反之邏輯或則是非同一行。如下

Assigned ToAssigned ToAssigned ToSub Category
<>t*<>y*<>io*01.  Test1
<>t*<>y*<>io*01.  Test2

 

說明一下"<>"這個符號在Like 函數(shù)中無法使用,但是可以再高級篩選中使用。

https://docs.microsoft.com/zh-cn/office/vba/language/reference/user-interface-help/like-operator

內(nèi)置模式匹配為字符串比較提供了一個功能多樣的工具。 利用模式匹配功能,您可以將通配符、字符列表或字符范圍任意組合使用來匹配字符串。 下表顯示了 pattern 中允許使用的字符以及它們的匹配項:

_模式_中的字符_字符串_中的匹配項
?任意單個字符。
*零個或多個字符。
#任何單個數(shù)字 (0-9)。
charlist ]charlist 內(nèi)的任意單個字符。
!charlist ]charlist 外的任意單個字符。

Code

  1. w.Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
  2. Sheets("Critical").Range("A1").CurrentRegion, Unique:=True

 

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多