Try
Sub test()
Dim a, b, i As Long, ii As Long, iii As Long, n As Long
a = Sheets("data").Cells(1).CurrentRegion.Value
ReDim b(1 To UBound(a, 1) * UBound(a, 2), 1 To 5)
n = n + 1
For i = 1 To 3
b(n, i) = a(1, i + IIf(i < 3, 0, 1))
Next
b(n, 4) = "price": b(n, 5) = "month"
For i = 2 To UBound(a, 1)
For ii = 5 To UBound(a, 2)
n = n + 1
For iii = 1 To 3
b(n, iii) = a(i, iii + IIf(iii < 3, 0, 1))
Next
b(n, 4) = a(i, ii)
b(n, 5) = a(1, ii)
Next
Next
With Sheets("results").Cells(1).Resize(n, 5)
.CurrentRegion.ClearContents
.Value = b
End With
End Sub
Bookmarks