myUniqe関数と配列数式

重複なしの値を列で表示する配列を返す関数。重複なし、ユニーク、データベース用語では一意制約の一意でもある。

'ユニーク、一意のデータを1列に出力
Function myUniqe(r As Range)
    Dim col As New Collection
    Dim x
    For Each x In r
        On Error GoTo myErr
        col.Add x, VBA.CStr(x)
        On Error GoTo 0
    Next
    ReDim ar(1000, 0) 'NA大作のため大きめの配列にした
    Dim i As Integer
    For Each x In col
        ar(i, 0) = x
        i = i + 1
    Next
    myUniqe = ar
    Exit Function
myErr:
    Resume Next
End Function
'for each x in myUniqe(range("b4:b14")):?x:next 'イミディエイト実行用
https://youtu.be/eNRUHDhPWWI
(Visited 133 times, 1 visits today)
カテゴリー: 9 セルの中で使うユーザー定義関数の作成 <VBA>, 10 Error処理 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です