I think this will do what you want.
You should adjust the ranges to suit.
If you want less than all the questions in the result, adjust the Size variable.
Sub test()
Dim baseData As Variant
Dim randomizedData() As String
Dim Size As Long
Dim i As Long, temp As Variant, randIndex As Long
baseData = Range("A1:b5").Value
Size = UBound(baseData, 1)
Rem randomly re-order the question/answers
For i = 1 To Size
randIndex = WorksheetFunction.RandBetween(1, Size)
temp = baseData(i, 1)
baseData(i, 1) = baseData(randIndex, 1)
baseData(randIndex, 1) = temp
temp = baseData(i, 2)
baseData(i, 2) = baseData(randIndex, 2)
baseData(randIndex, 2) = temp
Next i
Rem put into column array
ReDim randomizedData(1 To 3 * Size, 1 To 1)
For i = 0 To Size - 1
randomizedData(3 * i + 1, 1) = baseData(i + 1, 1)
randomizedData(3 * i + 2, 1) = baseData(i + 1, 2)
Next i
Rem put on sheet
Range("C1").Resize(3 * Size, 1) = randomizedData
End Sub
Bookmarks