VBA100本ノック 39本目:数値リストの統合(マージ)

こちらで公開されている、100本ノックに挑戦。
www.excel-ubara.com
素晴らしい教材を公開いただき、ありがとうございます。

上記リンク先から、問題文を転載。

重複除去は個人的に、日常の業務でも低~中頻度で発生する事案。
私は面倒くさがりなので、たいていの場合、Keyの重複が出来ない
Dictionaryに突っ込んでこれを行っている。

Sub VBA_100Knock_39()
    ' 元データ。
    Dim SrcArray As Variant
        SrcArray = Range("A1:B8")
    ' 重複除去用の辞書。
    Dim Dict As Scripting.Dictionary
    Set Dict = New Scripting.Dictionary
    ' 配列ソート用。
    Dim ArrayList As Object
    Set ArrayList = CreateObject("System.Collections.ArrayList")
    ' eはElementの意。
    Dim e As Variant
    ' keyの重複を許さない辞書の特性を利用して重複除去。
    ' この場合、item不問。
        For Each e In SrcArray
            If e <> vbNullString Then
                If Not Dict.Exists(e) Then
                    Dict(e) = e
                    ArrayList.Add e
                End If
            End If
        Next
    
    ' ArrayListクラスのSortメソッドで昇順に並べ替えたのち、
    ' ArrayListクラスのToArrayメソッドで配列に戻す。
    Dim arr As Variant
        ArrayList.Sort
        arr = ArrayList.toarray
    
    ' 貼付け。
        Range("C1").Resize(UBound(arr) + 1) = _
                    WorksheetFunction.Transpose(arr)    
End Sub

※冒頭リンク先の解答例および解説も、ぜひご一読ください。

参考まで。