Hi
I have the example for your reference
The original table to be used:
Client | Product Code | Quantity | Cost | Market Value | other | other1 | other2 | other3 | other4 | other5 |
CLTA | 456 | 9.698 | 96.98 | 96.98 | 55 | 10 | 546 | 65465 | 4654 | |
CLTA | 2546 | 2658015.45 | 3413316.3 | 3476938.86 | | 1 | | | | |
CLTA | EJRWER | 100 | 130.01 | 130.81 | | 1 | | | | |
CLTA | 0OWE9R | -2074.9 | -2702.37 | -2714.17 | | 1 | | | | |
CLTC | 000324AA1 | 2115670 | 2362088.78 | 2746742.81 | | 99.25 | 000324AA1 | 000324AA1 | BNGK543 | 12 |
CLTC | 001272AA1 | 3151474 | 3700336.15 | 4053772.52 | 2 | 128.631 | 001272AA1 | 001272AA1 | B1VSYJ6 | 6.032 |
CLTC | 00130HBS3 | 560000 | 563803.7 | 803955.68 | | 109.75 | 00130HBS3 | 00130HBS3 | B8J7VH1 | 7.375 |
CLTC
| 00206R102 | 246600 | 9332522.09 | 11206305.02 | | 34.74 | 00206R102 | 00206R102 | 2831811 | |
CLTC | 00206R102 | 96500 | 3988226.12 | 4385273.46 | | 34.74 | 00206R102 | 00206R102 | 2831811 | |
CLTC | 00208D408 | 242300 | 5439409.91 | 4741811 | | 19.57 | 00208D408 | 00208D408 | B6463M8 | |
CLTC | 00289RAA0 | 2822000 | 2990590.29 | 3525331.28 | | 95.5 | 00289RAA0 | 00289RAA0 | B5BDZ74 | 8.875 |
CLTC | 00289VAB9 | 3422000 | 3826662.4 | 3525089.28 | | 78.75 | 00289VAB9 | 00289VAB9 | 00289VAB9 | 7.75 |
<colgroup><col><col><col><col><col><col><col><col span="2"><col><col></colgroup><tbody>
</tbody>
After running the macro:
Sub ConsolidateData()
' hiker95, 07/03/2015, ME865803
Dim lr As Long, r As Long, n As Long
Application.ScreenUpdating = False
With Sheets("Sheet1") '<-- you can change the sheet name here
lr = .Cells(Rows.Count, 1).End(xlUp).Row
.Range("A2:k" & lr).Sort key1:=.Range("A2"), order1:=1, key2:=.Range("b2"), order2:=1
With .Range("l2:l" & lr)
.Formula = "=A2&b2"
.Value = .Value
End With
For r = 2 To lr
n = Application.CountIf(.Columns(12), .Cells(r, 12).Value)
If n > 1 Then
.Range("c" & r).Value = Evaluate("=Sum(c" & r & ":c" & r + n - 1 & ")")
.Range("d" & r).Value = Evaluate("=Sum(d" & r & ":d" & r + n - 1 & ")")
.Range("e" & r).Value = Evaluate("=Sum(e" & r & ":e" & r + n - 1 & ")")
.Range("A" & r + 1 & ":k" & r + n - 1).ClearContents
End If
r = r + n - 1
Next r
.Range("l2:l" & lr).ClearContents
.Range("A2:k" & lr).SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
End With
Application.ScreenUpdating = True
End Sub
But the result, other2, other3, other4 and other5 have shifted up:
Client | Product Code | Quantity | Cost | Market Value | other | other1 | other2 | other3 | other4 | other5 |
CLTA | 0OWE9R | -2074.9 | -2702.37 | -2714.17 | 55 | 1 | 546 | 65465 | 4654 | 12 |
CLTA | 2546 | 2658015.45 | 3413316.3 | 3476938.86 | 2 | 1 | 000324AA1 | 000324AA1 | BNGK543 | 6.032 |
CLTA | 456 | 9.698 | 96.98 | 96.98 | | 10 | 001272AA1 | 001272AA1 | B1VSYJ6 | 7.375 |
CLTA | EJRWER | 100 | 130.01 | 130.81 | | 1 | 00130HBS3 | 00130HBS3 | B8J7VH1 | 8.875 |
CLTC | 000324AA1 | 2115670 | 2362088.78 | 2746742.81 | | 99.25 | 00206R102
| 00206R102 | 2831811 | 7.75 |
CLTC | 001272AA1 | 3151474 | 3700336.15 | 4053772.52 | | 128.631 | 00208D408 | 00208D408 | B6463M8 | |
CLTC | 00130HBS3 | 560000 | 563803.7 | 803955.68 | | 109.75 | 00289RAA0 | 00289RAA0 | B5BDZ74 | |
CLTC
| 00206R102 | 343100 | 13320748.2 | 15591578.48 |
| 34.74 | 00289VAB9 | 00289VAB9 | 00289VAB9 | |
CLTC | 00208D408 | 242300 | 5439409.91 | 4741811 | | 19.57 | | | | |
CLTC | 00289RAA0 | 2822000 | 2990590.29 | 3525331.28 | | 95.5 | | | | |
CLTC | 00289VAB9 | 3422000 | 3826662.4 | 3525089.28 | | 78.75 | | | | |
<colgroup><col><col><col><col><col><col><col><col span="2"><col><col></colgroup><tbody>
</tbody>
I expect the outcome:
Client | Product Code | Quantity | Cost | Market Value | other | other1 | other2 | other3 | other4 | other5 |
CLTA | 0OWE9R | -2074.9 | -2702.37 | -2714.17 | | 1 | | | | |
CLTA | 2546 | 2658015.45 | 3413316.3 | 3476938.86 | | 1 | | | | |
CLTA | 456 | 9.698 | 96.98 | 96.98 | 55 | 10 | 546 | 65465 | 4654 | |
CLTA | EJRWER | 100 | 130.01 | 130.81 | | 1 | | | | |
CLTC | 000324AA1 | 2115670 | 2362088.78 | 2746742.81 | | 99.25 | 000324AA1 | 000324AA1 | BNGK543 | 12 |
CLTC | 001272AA1 | 3151474 | 3700336.15 | 4053772.52 | 2 | 128.631 | 001272AA1 | 001272AA1 | B1VSYJ6 | 6.032 |
CLTC | 00130HBS3 | 560000 | 563803.7 | 803955.68 | | 109.75 | 00130HBS3 | 00130HBS3 | B8J7VH1 | 7.375 |
CLTC
| 00206R102 | 343100 | 13320748.2 | 15591578.48 | | 34.74 | 00206R102 | 00206R102 | 2831811 | |
CLTC | 00208D408 | 242300 | 5439409.91 | 4741811 | | 19.57 | 00208D408 | 00208D408 | B6463M8 | |
CLTC | 00289RAA0 | 2822000 | 2990590.29 | 3525331.28 | | 95.5 | 00289RAA0 | 00289RAA0 | B5BDZ74 | 8.875 |
CLTC | 00289VAB9 | 3422000 | 3826662.4 | 3525089.28 | | 78.75 | 00289VAB9 | 00289VAB9 | 00289VAB9 | 7.75 |
<colgroup><col><col><col><col><col><col><col><col span="2"><col><col></colgroup><tbody>
</tbody>
Please advise how to fix the code.
Regards
Bill