ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Need to combine data programatically. (https://www.excelbanter.com/excel-programming/362947-need-combine-data-programatically.html)

HearSay

Need to combine data programatically.
 
Here is my spreadsheet

369 Medical Authorization/Utilization
370 Apportionment
370 Settlement
371 Apportionment
371 Settlement
372 Apportionment


For my final results I would like to see

369 Medical Authorization/Utilization
370 Apportionment, Settlement
371 Apportionment, Settlement
372 Apportionment

So I a column has a duplicate value, I would like to combine those into one
row and delete the row after combining. There could be more than two
matches.

Any ideas on how to do this?





PaulD

Need to combine data programatically.
 
"HearSay" wrote in message
...
: Here is my spreadsheet
:
: 369 Medical Authorization/Utilization
: 370 Apportionment
: 370 Settlement
: 371 Apportionment
: 371 Settlement
: 372 Apportionment
:
:
: For my final results I would like to see
:
: 369 Medical Authorization/Utilization
: 370 Apportionment, Settlement
: 371 Apportionment, Settlement
: 372 Apportionment
:
: So I a column has a duplicate value, I would like to combine those into
one
: row and delete the row after combining. There could be more than two
: matches.
:
: Any ideas on how to do this?
:
Assuming your first column is in the order you want something like this is a
start

Sub CombineCells()
Dim TotalRows As Integer, iCount As Integer

With ActiveSheet
TotalRows = .UsedRange.Rows.Count
For iCount = TotalRows To 2 Step -1
If .Cells(iCount, 1).Value = .Cells(iCount - 1, 1).Value Then
.Cells(iCount - 1, 2).Value = .Cells(iCount - 1, 2).Value & ", " &
..Cells(iCount, 2).Value
.Rows(iCount).Delete
End If
Next iCount
End With
End Sub

The main thing to note is if you are deleting rows, then you have to work
from the bottom up. This is why the routine finds the usedrange, gets the
number of rows, then counts up (step -1). You may want to modify this
routine if you have a predefined range you want to check or if your starting
row is not 1.

Paul D




All times are GMT +1. The time now is 01:45 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com