Array To Range
Sub ArrayToRange()
Const cString As String = "1,2,3,4,5"
Dim arr As Variant
Dim vnt As Variant
Dim i As Integer
Dim cCell As String
' Write list to 1D Array.
arr = Split(cString, ",")
'arr = Array(1, 2, 3, 4, 5)
' 1D Array - arr
' Write to "A1:A5".
cCell = "A1"
Range(cCell).Resize(UBound(arr) + 1) = Application.Transpose(arr)
'' Write to "B1:F1", writes values as text.
'cCell = "B1"
'Range(cCell).Resize(, UBound(arr) + 1) = arr
' Write to "B1:F1".
cCell = "B1"
Range(cCell).Resize(, UBound(arr) + 1) _
= Application.Transpose(Application.Transpose(arr))
' 2D Array - vnt
' Resize 2D Array.
ReDim vnt(1 To UBound(arr) + 1, 1 To 1)
' Write from 1D to 2D array.
For i = 0 To UBound(arr)
vnt(i + 1, 1) = arr(i)
Next
' Write to "H1:H5".
cCell = "H1"
Range(cCell).Resize(UBound(vnt)) = vnt
' Write to "I1:M1".
cCell = "I1"
Range(cCell).Resize(, UBound(vnt)) = Application.Transpose(vnt)
End Sub