If I understand correctly, you want a 6row by 12col table containing
the results. If so then try...
Sub CombineData()
Dim sec1, sec2, sec3, n&, lRows&, lCols&, vaDataOut()
'Load ranges into arrays
sec1 = Range("$B$3:$E$3")
sec2 = Range("$G$3:$J$3")
sec3 = Range("$L$3:$O$3")
'Get the number of rows/cols for the output
lRows = (UBound(sec1, 1) + UBound(sec2, 1) + UBound(sec3, 1)) * 2
lCols = UBound(sec1, 2) + UBound(sec2, 2) + UBound(sec3, 2)
'Resize the output array
ReDim vaDataOut(1 To lRows, 1 To lCols)
'Load the output array
For n = 1 To UBound(sec1, 2) '//fortunately they're all the same
'sec1
vaDataOut(1, n) = sec1(1, n): vaDataOut(2, n) = sec1(1, n)
vaDataOut(3, n + 4) = sec1(1, n): vaDataOut(4, n + 8) = sec1(1, n)
vaDataOut(5, n + 4) = sec1(1, n): vaDataOut(6, n + 8) = sec1(1, n)
'sec2
vaDataOut(1, n + 4) = sec2(1, n): vaDataOut(2, n + 8) = sec2(1, n)
vaDataOut(3, n) = sec2(1, n): vaDataOut(4, n) = sec2(1, n)
vaDataOut(5, n + 8) = sec2(1, n): vaDataOut(6, n + 4) = sec2(1, n)
'sec3
vaDataOut(1, n + 8) = sec3(1, n): vaDataOut(2, n + 4) = sec3(1, n)
vaDataOut(3, n + 8) = sec3(1, n): vaDataOut(4, n + 4) = sec3(1, n)
vaDataOut(5, n) = sec3(1, n): vaDataOut(6, n) = sec3(1, n)
Next
'Dump the data back into the wks
Range("$B$10").Resize(lRows, lCols) = vaDataOut
End Sub
--
Garry
Free usenet access at
http://www.eternal-september.org
Classic
VB Users Regroup!
comp.lang.basic.visual.misc
microsoft.public.
vb.general.discussion