How about this.
Sub join_DIC()
    Dim dic As Object: Set dic = CreateObject("scripting.dictionary")
    With CreateObject("system.collections.arraylist")
        For Each dn In Array(1, 2, 3, 4, 5, 56, 1, 2, 1, 12, 1, 2)
            dic(dn) = dn
            .Add dn
        Next dn
    'how to sort key in dic using CreateObject("system.collections.arraylist")
    'i key has sort in dic then items in dict also sort
        .Sort
        dic.RemoveAll
        For i = 0 To .Count - 1
            x0 = dic.Item(.Item(i))
        Next
        MsgBox Join(dic.keys, ",")
    'how to shows allitem in arraylist
        MsgBox Join(.toarray, vbLf)
    End With
End Sub