Requirement:
The user would like to copy the values in column A and B in sheet 1 a certain number of times (the count of days in from column C to the far right) as well as transposing.
The Date needs to be in a column as well. Finally, the dollar value should be in the column for the appropriately identified record.
It is kind of hard to explain, so the user has posted some sample illustrative data below as well as a file that shows what the user needs to create (The user has only copied down two of the IDs but need all in the list in sheet 1).
Sheet 1 - Original Data
ID | CODE | 29-Jun-18 | 28-Jun-18 | 27-Jun-18 | 26-Jun-18 | 25-Jun-18 | 22-Jun-18 | 21-Jun-18 | 20-Jun-18 | 19-Jun-18 | 18-Jun-18 | 15-Jun-18 |
370707 | Z404199A | 26,667,118.00 | 18,069,283.00 | 13,891,299.00 | 104,681,561.00 | 188,020,746.00 | 199,854,190.00 | 37,984,272.00 | 167,687,934.00 | 55,069,802.00 | 74,723,821.00 | 145,896,197.00 |
383057 | Z370076A | 36,018,253.00 | 180,459,316.00 | 43,985,113.00 | 26,826,758.00 | 189,445,567.00 | 142,444,787.00 | 95,937,850.00 | 128,601,506.00 | 67,460,593.00 | 157,599,316.00 | 75,377,394.00 |
26160 | Z481239A | 80,661,392.00 | 6,175,130.00 | 16,755,656.00 | 101,777,889.00 | 103,832,268.00 | 172,820,301.00 | 21,447,399.00 | 58,362,008.00 | 85,894,866.00 | 198,374,389.00 | 124,893,401.00 |
468883 | Z136813A | 134,100,710.00 | 69,428,984.00 | 41,992,088.00 | 162,069,991.00 | 97,073,170.00 | 153,246,262.00 | 25,650,568.00 | 60,901,434.00 | 48,342,434.00 | 172,748,888.00 | 161,314,201.00 |
142631 | Z135200A | 121,409,683.00 | 26,268,290.00 | 182,422,121.00 | 100,877,599.00 | 64,855,837.00 | 62,423,977.00 | 20,479,210.00 | 56,973,418.00 | 190,674,155.00 | 84,238,099.00 | 8,196,560.00 |
171639 | Z358015A | 195,568,451.00 | 56,587,043.00 | 115,602,002.00 | 35,589,683.00 | 177,131,383.00 | 18,222,129.00 | 46,451,562.00 | 71,956,343.00 | 135,313,461.00 | 179,214,355.00 | 68,986,453.00 |
Sheet 2 - Final Data
ID | CODE | Date | Value |
370707 | Z172821A | 6/29/2018 | 26,667,118.00 |
370707 | Z172821A | 6/28/2018 | 18,069,283.00 |
370707 | Z172821A | 6/27/2018 | 13,891,299.00 |
370707 | Z172821A | 6/26/2018 | 104,681,561.00 |
370707 | Z172821A | 6/25/2018 | 188,020,746.00 |
370707 | Z172821A | 6/22/2018 | 199,854,190.00 |
370707 | Z172821A | 6/21/2018 | 37,984,272.00 |
370707 | Z172821A | 6/20/2018 | 167,687,934.00 |
370707 | Z172821A | 6/19/2018 | 55,069,802.00 |
370707 | Z172821A | 6/18/2018 | 74,723,821.00 |
370707 | Z172821A | 6/15/2018 | 145,896,197.00 |
370707 | Z172821A | 6/14/2018 | 26,281,302.00 |
370707 | Z172821A | 6/13/2018 | 17,820,382.00 |
370707 | Z172821A | 6/12/2018 | 152,371,477.00 |
370707 | Z172821A | 6/11/2018 | 129,667,278.00 |
370707 | Z172821A | 6/8/2018 | 10,122,098.00 |
370707 | Z172821A | 6/7/2018 | 33,468,435.00 |
370707 | Z172821A | 6/6/2018 | 68,750,640.00 |
370707 | Z172821A | 6/5/2018 | 31,784,305.00 |
370707 | Z172821A | 6/4/2018 | 130,661,247.00 |
370707 | Z172821A | 6/1/2018 | 58,955,392.00 |
383057 | Z240757A | 6/29/2018 | 36,018,253.00 |
383057 | Z240757A | 6/28/2018 | 180,459,316.00 |
383057 | Z240757A | 6/27/2018 | 43,985,113.00 |
383057 | Z240757A | 6/26/2018 | 26,826,758.00 |
383057 | Z240757A | 6/25/2018 | 189,445,567.00 |
383057 | Z240757A | 6/22/2018 | 142,444,787.00 |
Solution:
Sub Copy_Rows() Application.ScreenUpdating = False Dim LastRow As Long LastRow = Sheets("Sheet1").Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row Dim lCol As Long lCol = Range("IV1").End(xlToLeft).Column Dim x As Long For x = 2 To LastRow Sheets("Sheet1").Cells(x, 1).Resize(, 2).Copy Sheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Resize(lCol - 2, 2) Sheets("Sheet1").Range("C1").Resize(, lCol - 2).Copy Sheets("Sheet2").Cells(Rows.Count, "C").End(xlUp).Offset(1, 0).PasteSpecial Transpose:=True Sheets("Sheet1").Range("C" & x).Resize(, lCol - 2).Copy Sheets("Sheet2").Cells(Rows.Count, "D").End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues, Transpose:=True Next x Application.CutCopyMode = False Application.ScreenUpdating = True End Sub
Obtained from the OzGrid Help Forum.
Solution provided by Mumps.
See also: Index to Excel VBA Code and Index to Excel Freebies and Lesson 1 - Excel Fundamentals and Index to how to… providing a range of solutions and Index to new resources and reference sheets
See also:
How to create excel VBA to transpose single row to multiple columns |
How to transpose single column into multiple columns and rows |
How to use VBA to transpose data from single column to rows |
Click here to visit our Free 24/7 Excel/VBA Help Forum where there are thousands of posts you can get information from, or you can join the Forum and post your own questions.