教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA 関数】Filter関数の使い方を教えて!

構文

構文は以下の通りです。

Filter(配列, 条件, [比較方法])

解説

Filter関数は、指定した条件に基づいて配列の要素をフィルタリングします。

引数 指定 内容
配列 必須 フィルタリングする対象の配列です。
条件 必須 フィルタリングの条件を指定します。通常は文字列として指定します。
比較方法 省略可 文字列の比較方法を指定します。省略するとバイナリ比較が行われますが、大文字と小文字が区別されます。"vbTextCompare"を指定すると大文字と小文字が区別されません。

使用方法

配列 = Array(1, 2, 3, 4, 5)
Filter(配列, "> 3")

使い方

Filter関数を使用する際には、次の手順に従ってください。

1.フィルタリングしたい配列を作成します。

Dim 配列名() As データ型
配列名 = Array(要素1, 要素2, ... , 要素N)

2.Filter関数を使用して、フィルタリングされた配列を取得します。

Dim フィルタ結果() As データ型
フィルタ結果 = Filter(配列名, 条件[, 比較方法])

フィルタ結果には、指定した条件に一致する要素が格納されます。

プログラミング例

以下に、Filter関数の使い方を示す簡単なプログラミング例を示します。この例では、配列の要素を数値の条件でフィルタリングし、結果をメッセージボックスで表示します。

Sub FilterFunctionExample()
    Dim myArray() As Integer
    myArray = Array(1, 2, 3, 4, 5)
    Dim filteredArray() As Integer
    filteredArray = Filter(myArray, "> 3")
    Dim i As Integer
    For i = LBound(filteredArray) To UBound(filteredArray)
        MsgBox filteredArray(i)
    Next i
End Sub

この例では、配列の要素が「4」と「5」のみであるため、メッセージボックスに以下のような表示がされます。

4
5

まとめ

Filter関数は、条件に基づいて配列の要素をフィルタリングするための便利な関数です。Filter関数を使用することで、配列の要素の絞り込みが簡単に行えます。是非活用してください。