Hi there:
I would suggest to run the macro listed below on your worksheet (make sure to set topCell to the cell the first occurrence of PubA is located in (I assumed it might be A2). I have uploaded a workbook that contains both your original sample and the aggregated version: http://www.eggheadcafe.com/fileupload/629396994_BookListAggregation.zip (please note that although the file extension is .zip this is actually an Excel workbook; you'll need to rename it to *.xls before you open it).
Please don't hesitate to contact me if you have any further questions.
Good luck,
Rolf Jaeger
SoarentComputing
http://soarentcomputing.com
510.300.7462
Sub AggregateBooks()
Dim topCell As Range
Dim iRow As Integer
Dim nBooks As Integer
Set topCell = Range("A2")
iRow = 0
Do
nBooks = 0
Do
topCell.Offset(iRow + nBooks, 0).Select
If topCell.Offset(iRow + nBooks + 1, 0).Value <> topCell.Offset(iRow + nBooks, 0).Value Then Exit Do
topCell.Offset(iRow, 1).Value = topCell.Offset(iRow, 1).Value & Chr(10) & topCell.Offset(iRow + nBooks + 1, 1)
nBooks = nBooks + 1
Loop
iRow = iRow + 1
If nBooks > 0 Then
Rows(iRow + 1 & ":" & iRow + nBooks).Select
Selection.Delete
End If
If topCell.Offset(iRow, 0).Value = "" Then Exit Do
Loop
End Sub