ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Unique values in a macro (https://www.excelbanter.com/excel-programming/403328-unique-values-macro.html)

[email protected]

Unique values in a macro
 
Hello all, I have the sheet with the following data

12 1 01 6
18 1 01 10
12 1 01 6
11 5 09 3
12 1 10 1
12 2 01 12
12 1 01 2
11 5 09 5
11 5 11 23

The data on the last column is the count, I need to get the following
output

12 1 01 12 (sum of row 1 & 3)
18 1 01 10
11 5 09 8 (sum of row 4 & 8)
12 1 10 1
12 2 01 12
12 1 01 2
11 5 11 23

This is what the above results is - data from row1 for colA, colB &
colC is compared with the data with row2: ColA, ColB, ColC, and if
they are same then the data from ColD is summed up. I was trying to do
it through SumProduct, but could not achieve what I was trying to do.
So in the above example row 1 & 3 are same when u compare ColA, ColB &
ColC, so I add up the values in column D. Basically I need unique
values to be selected from ColA, ColB & colC and if there are more
than one row with the same value I need to sum the data in ColD. Hope
I have not confused with too many things. I need this to be done as
part of the macro That I'm creating

Thankyou for any help. Thanks in advance.

Bob Phillips

Unique values in a macro
 
Public Sub ProcessData()
Dim i As Long
Dim LastRow As Long
Dim rng As Range
Dim sFormula1 As String
Dim sFormula2 As String

With ActiveSheet

LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
sFormula1 = "SUMPRODUCT(--(A1:A" & LastRow & "=A<)," & _
"--(B1:B" & LastRow & "=B<)," & _
"--(C1:C" & LastRow & "=C<)," & _
"D1:D" & LastRow & ")"
sFormula2 = "SUMPRODUCT(--(A1:A<=A<)," & _
"--(B1:B<=B<)," & _
"--(C1:C<=C<))"
For i = 1 To LastRow

.Cells(i, "D").Value = .Evaluate(Replace(sFormula1, "<", i))
If .Evaluate(Replace(sFormula2, "<", i)) 1 Then

If rng Is Nothing Then

Set rng = .Rows(i)
Else

Set rng = Union(rng, .Rows(i))
End If
End If
Next i

If Not rng Is Nothing Then rng.Delete
End With

End Sub

--
---
HTH

Bob


(there's no email, no snail mail, but somewhere should be gmail in my addy)



wrote in message
...
Hello all, I have the sheet with the following data

12 1 01 6
18 1 01 10
12 1 01 6
11 5 09 3
12 1 10 1
12 2 01 12
12 1 01 2
11 5 09 5
11 5 11 23

The data on the last column is the count, I need to get the following
output

12 1 01 12 (sum of row 1 & 3)
18 1 01 10
11 5 09 8 (sum of row 4 & 8)
12 1 10 1
12 2 01 12
12 1 01 2
11 5 11 23

This is what the above results is - data from row1 for colA, colB &
colC is compared with the data with row2: ColA, ColB, ColC, and if
they are same then the data from ColD is summed up. I was trying to do
it through SumProduct, but could not achieve what I was trying to do.
So in the above example row 1 & 3 are same when u compare ColA, ColB &
ColC, so I add up the values in column D. Basically I need unique
values to be selected from ColA, ColB & colC and if there are more
than one row with the same value I need to sum the data in ColD. Hope
I have not confused with too many things. I need this to be done as
part of the macro That I'm creating

Thankyou for any help. Thanks in advance.





All times are GMT +1. The time now is 06:48 AM.

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