I am trying to write an array to a range and I have tried several ways but no matter what, I always get only the FIRST value of the array over and over again.
Here i
If I may expand the accepted answer, I propose:
[a1].Resize(UBound(arrayData) - LBound(arrayData) + 1) = Application.Transpose(arrayData)
That would be the safe way. This will work no matter if you declare your array variable as:
Dim arrayData(0 to 2)
or
Dim arrayData(1 to 3)
The accepted answer works only in the second case.
The proposed way might be useful if the size of array is unknown and you declare your arrayData as:
Dim arrayData()