配列 配列の同じ要素を削除するCollection

※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。

※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。

Option Explicit


Sub ArraySameElementDelCollection(ByVal DB As VariantByRef DB2() As String)
'*****************************************************
'配列 配列の同じ要素を削除するCollection
'*****************************************************

Dim cllArray As Collection, vrn As Variant, i As Long

Set cllArray = New Collection

On Error Resume Next
    For Each vrn In DB
        cllArray.Add vrn, vrn
    Next
On Error GoTo 0

ReDim DB2(cllArray.Count - 1)
    For i = 1 To cllArray.Count
        DB2(i - 1) = cllArray(i)
    Next

End Sub


Private Sub test()
Dim i As Long, x(5) As String, DB2() As String
'テストデータ
x(0) = "1"
x(1) = "A"
x(2) = "1"
x(3) = "B"
x(4) = ""
x(5) = "1"

Call ArraySameElementDelCollection(x, DB2())

'値を表示
    For i = LBound(DB2) To UBound(DB2)
        Debug.Print i & vbTab & DB2(i)
    Next i

'0   1
'1   A
'2   B
'3
End Sub

 

 

 

2000年01月01日|[VBサンプルコード]:[配列]