Thread: VB Code
View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
shockley shockley is offline
external usenet poster
 
Posts: 135
Default VB Code

This should work:

Sub Tester()

Cells.Sort _
Key1:=Range("A2"), _
Order1:=xlAscending, _
Header:=xlYes, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom

LastRow = Cells(65536, 1).End(xlUp).Row
For i = 2 To LastRow - 1
CurNo = Cells(i, 1)
Do
j = j + 1
NextNo = Cells(i + j, 1)
If NextNo = CurNo Then ShiftCells i, j
Loop Until NextNo < CurNo
i = i + j - 1
j = 0
Next i

Columns(1).SpecialCells(xlCellTypeBlanks).EntireRo w.Delete
y = Cells(1, 1).CurrentRegion.Columns.Count

For i = 5 To y - 1 Step 2
Cells(1, i) = "Invoice No"
Cells(1, i + 1) = "Value"
Next i

End Sub
Sub ShiftCells(i, j)
LastCell = Cells(i, 1).End(xlToRight).Column
Cells(i, LastCell + 1) = Cells(i + j, 3)
Cells(i, LastCell + 2) = Cells(i + j, 4)
Rows(i + j).ClearContents
End Sub

Shockley





"sw" wrote in message
...
I only have limited knowledge of vb and am looking for the
code to help me do the following;

I have a spreadsheet as example following

Acc No. Acc Name Invoice No. Value
100 ABC 250 50
100 ABC 252 45
102 EFG 198 34
100 ABC 253 89
103 XYZ 134 76

I need to bring the records together onto one row for each
account no so that it looks like the following;

Acc No Acc Name Invoice No. Value Invoice No. Value etc
100 ABC 250 50 252 45
102 EFG 198 34 134 76

Is there any code that is able to look at each change in
the Account No and bring all relating invoice no's and
values onto the same row?

I am trying to achieve this for 6000 records that are
grouped together so that a mail merge can be performed for
each account no.

Any help would be great!