I used this code to create 100000 numbers (12 digit unique random numeric numbers )
Sub uniqueramdom()
Const strCharacters As String = \"0123456789\"
Dim c
You were running into an old functional size limitation of application.transpose. If you move to a 2-D array and fill the proper rank, you should not require the use of transpose at all.
Sub uniqueramdom()
Const strCharacters As String = "0123456789"
Dim cllAlphaNums As Collection
Dim arrUnqAlphaNums(1 To 100000, 1 To 1) As String
Dim varElement As Variant
Dim strAlphaNum As String
Dim AlphaNumIndex As Long
Dim lUbound As Long
Dim lNumChars As Long
Dim i As Long
Set cllAlphaNums = New Collection
lUbound = UBound(arrUnqAlphaNums, 1)
lNumChars = Len(strCharacters)
On Error Resume Next
Do
strAlphaNum = vbNullString
For i = 1 To 12
strAlphaNum = strAlphaNum & Mid(strCharacters, Int(Rnd() * lNumChars) + 1, 1)
Next i
cllAlphaNums.Add strAlphaNum, strAlphaNum
Loop While cllAlphaNums.Count < lUbound
On Error GoTo 0
For Each varElement In cllAlphaNums
AlphaNumIndex = AlphaNumIndex + 1
arrUnqAlphaNums(AlphaNumIndex, 1) = varElement
Next varElement
Range("A1").Resize(lUbound) = arrUnqAlphaNums
Set cllAlphaNums = Nothing
Erase arrUnqAlphaNums
End Sub