重複なしの値を列で表示する配列を返す関数。重複なし、ユニーク、データベース用語では一意制約の一意でもある。
'ユニーク、一意のデータを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 'イミディエイト実行用