.
Here is a very much layman's explanation of the code lines. I am certain there is a more technical description that someone else can provide :
Sub SplitInto15CellsPerColumn()
Dim X As Long, LastRow As Long, vArrIn As Variant, vArrOut As Variant
LastRow = Cells(Rows.Count, "A").End(xlUp).Row 'define last used row in Col A
vArrIn = Range("A1:A" & LastRow) 'place all data in Col A used range into an array
ReDim vArrOut(1 To 3, 1 To Int(LastRow / 3) + 1) 'going to look at every third row, in groups of three
For X = 0 To LastRow - 1 'begin process of selection
vArrOut(1 + (X Mod 3), 1 + Int(X / 3)) = vArrIn(X + 1, 1) 'set the data selected to be entered into Col B rows
Next 'repeat selection process until all data reviewed
Range("B1").Resize(3, UBound(vArrOut, 2)) = vArrOut 'enter selected data into Col B rows
End Sub