Excel Workbook | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A | B | C | D | E | F | G | H | I | J | K | L | |||
1 | 1/01/2016 | A | AA | 1000 | 2/01/2016 | B | BB | 1100 | 3/01/2016 | C | CC | 1200 | ||
2 | 4/01/2016 | D | DD | 1300 | 5/01/2016 | E | EE | 1400 | 6/01/2016 | F | FF | 1500 | ||
3 | 7/01/2016 | G | GG | 1600 | 8/01/2016 | H | HH | 1700 | 9/01/2016 | I | II | 1800 | ||
4 | 10/01/2016 | J | JJ | 1900 | 11/01/2016 | K | KK | 2000 | 12/01/2016 | L | LL | 2010 | ||
5 | ||||||||||||||
6 | ||||||||||||||
7 | 1/01/2016 | A | AA | 1000 | ||||||||||
8 | 2/01/2016 | B | BB | 1100 | ||||||||||
9 | 3/01/2016 | C | CC | 1200 | ||||||||||
10 | 4/01/2016 | D | DD | 1300 | ||||||||||
11 | 5/01/2016 | E | EE | 1400 | ||||||||||
12 | 6/01/2016 | F | FF | 1500 | ||||||||||
13 | 7/01/2016 | G | GG | 1600 | ||||||||||
14 | 8/01/2016 | H | HH | 1700 | ||||||||||
15 | 9/01/2016 | I | II | 1800 | ||||||||||
16 | 10/01/2016 | J | JJ | 1900 | ||||||||||
17 | 11/01/2016 | K | KK | 2000 | ||||||||||
18 | 12/01/2016 | L | LL | 2010 | ||||||||||
19 | ||||||||||||||
Rearrange |
Excel 2007 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A | B | C | D | E | F | G | H | I | J | K | L | M | N | |||
1 | 1 | 01/01/2016 | A | AA | 1000 | 02/01/2016 | B | BB | 1100 | 03/01/2016 | C | CC | 1200 | |||
2 | 2 | 04/01/2016 | D | DD | 1300 | 05/01/2016 | E | EE | 1400 | 06/01/2016 | F | FF | 1500 | |||
3 | 3 | 07/06/2016 | G | GG | 1600 | 08/01/2016 | H | HH | 1700 | 09/01/2016 | I | II | 1800 | |||
4 | 4 | 10/01/2016 | J | JJ | 1900 | 11/01/2016 | K | KK | 2000 | 12/01/2016 | L | LL | 2010 | |||
5 | ||||||||||||||||
6 | ||||||||||||||||
7 | ||||||||||||||||
8 | ||||||||||||||||
9 | ||||||||||||||||
10 | ||||||||||||||||
11 | ||||||||||||||||
12 | ||||||||||||||||
13 | ||||||||||||||||
14 | ||||||||||||||||
15 | ||||||||||||||||
16 | ||||||||||||||||
17 | ||||||||||||||||
18 | ||||||||||||||||
19 | ||||||||||||||||
Sheet1 |
Excel 2007 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A | B | C | D | E | F | G | H | I | J | K | L | M | N | |||
1 | 1 | 01/01/2016 | A | AA | 1000 | 02/01/2016 | B | BB | 1100 | 03/01/2016 | C | CC | 1200 | |||
2 | 2 | 04/01/2016 | D | DD | 1300 | 05/01/2016 | E | EE | 1400 | 06/01/2016 | F | FF | 1500 | |||
3 | 3 | 07/06/2016 | G | GG | 1600 | 08/01/2016 | H | HH | 1700 | 09/01/2016 | I | II | 1800 | |||
4 | 4 | 10/01/2016 | J | JJ | 1900 | 11/01/2016 | K | KK | 2000 | 12/01/2016 | L | LL | 2010 | |||
5 | ||||||||||||||||
6 | DATE | F/N | L/N | VALUE | ||||||||||||
7 | 1 | 01/01/2016 | A | AA | 1000 | |||||||||||
8 | 1 | 02/01/2016 | B | BB | 1100 | |||||||||||
9 | 1 | 03/01/2016 | C | CC | 1200 | |||||||||||
10 | 2 | 04/01/2016 | D | DD | 1300 | |||||||||||
11 | 2 | 05/01/2016 | E | EE | 1400 | |||||||||||
12 | 2 | 06/01/2016 | F | FF | 1500 | |||||||||||
13 | 3 | 07/06/2016 | G | GG | 1600 | |||||||||||
14 | 3 | 08/01/2016 | H | HH | 1700 | |||||||||||
15 | 3 | 09/01/2016 | I | II | 1800 | |||||||||||
16 | 4 | 10/01/2016 | J | JJ | 1900 | |||||||||||
17 | 4 | 11/01/2016 | K | KK | 2000 | |||||||||||
18 | 4 | 12/01/2016 | L | LL | 2010 | |||||||||||
19 | ||||||||||||||||
Sheet1 |
Sub ConvertGroups()
' hiker95, 11/06/2016, ME974416
Dim a As Variant, i As Long, c As Long, lr As Long, lur As Long, lc As Long, n As Long
Dim o As Variant, j As Long
Application.ScreenUpdating = False
With ActiveSheet
lr = .Cells(1, 1).End(xlDown).Row
lur = .Cells(.Rows.Count, 1).End(xlUp).Row
If lur > lr Then
.Rows(lr + 2).Resize(lur).ClearContents
End If
lc = .Cells.Find("*", , xlValues, xlWhole, xlByColumns, xlPrevious, False).Column
a = .Range(.Cells(1, 1), .Cells(lr, lc))
n = (lr * (lc - 1) / 4) + 1
ReDim o(1 To n, 1 To 5)
j = j + 1
o(j, 1) = "": o(j, 2) = "DATE": o(j, 3) = "F/N"
o(j, 4) = "L/N": o(j, 5) = "VALUE"
For i = LBound(a, 1) To UBound(a, 1) Step 1
For c = 2 To UBound(a, 2) Step 4
j = j + 1
o(j, 1) = a(i, 1)
o(j, 2) = a(i, c)
o(j, 3) = a(i, c + 1)
o(j, 4) = a(i, c + 2)
o(j, 5) = a(i, c + 3)
Next c
Next i
.Cells(lr + 2, 1).Resize(UBound(o, 1), UBound(o, 2)) = o
.Range("B" & lr + 3 & ":B" & UBound(o, 1) + lr + 3).NumberFormat = "mm/dd/yyyy"
.Columns(1).Resize(, UBound(o, 2)).AutoFit
End With
Application.ScreenUpdating = True
End Sub