VBA Filter()函式

2019-10-16 23:13:08

Filter()函式返回一個基於零的陣列,其中包含基於特定過濾條件的字串陣列的子集。

語法

Filter(inputstrings,value[,include[,compare]])

引數說明

  • Inputstrings - 必需的引數。該引數對應於要搜尋的字串陣列。
  • Value - 必需的引數。此引數對應於要根據inputstrings引數搜尋的字串。
  • Include - 一個可選引數。這是一個布林值,它指示是否返回包含或排除的子字串。
  • Compare - 一個可選引數。該引數描述要使用哪種字串比較方法。
    • 0 = vbBinaryCompare - 執行二進位制比較
    • 1 = vbTextCompare - 執行文字比較

例子

新增一個模組,並新增以下程式碼 -

Private Sub Constant_demo_Click()
   Dim a,b,c,d as Variant
   a = array("Red","Blue","Yellow")
   b = Filter(a,"B")
   c = Filter(a,"e")
   d = Filter(a,"Y")

   For each x in b
      msgbox("The Filter result 1: " & x)
   Next

   For each y in c
      msgbox("The Filter result 2: " & y)
   Next

   For each z in d
      msgbox("The Filter result 3: " & z)
   Next
End Sub

當執行上面的函式時,它會產生下面的輸出。

The Filter result 1: Blue
The Filter result 2: Red
The Filter result 2: Blue
The Filter result 2: Yellow
The Filter result 3: Yellow