Вот изображение для поддержки объяснения .
Значения столбца D выделяются одинаковым цветом, если записи в этом столбце идентичны.
В этом случае для каждой «группы» цветов I следует:
- добавить все значения столбца E для данного цвета и ввести сумму в столбец J.
Как видно на рисунке, сумма в столбце J
идеально подходит, если данный цвет встречается только в двух строках (идеально подходит для красного и зеленого цветов).Но как только цвет охватывает более двух строк, сумма отражает не сумму всех строк, а сумму только двух записей за раз.
Вот код, который я написал для этого вычисления:
Sub test()
Dim LastRow As Long, I As Long, j As Long
Dim arr As Variant
Dim Total_Payments As Single
Dim Total_CashBalance As Single
With ThisWorkbook.Worksheets("Master")
'Find Last row of column L
LastRow = .Cells(.Rows.Count, "D").End(xlUp).Row
'Set array starting from row 2 to LastRow of column L
arr = .Range("D2:D" & LastRow)
For I = LBound(arr) To UBound(arr)
If .Range("D" & I).Interior.Pattern <> xlNone Then
For j = LBound(arr) To UBound(arr)
If (.Range("D" & j).Interior.Pattern <> xlNone) And (I <> j) Then
If .Range("D" & I).Interior.Color = .Range("D" & j).Interior.Color Then
.Range("N" & I).Value = "Cell L" & I & " has the same background color with cell/s L" & j
Total_Payments = .Range("E" & I).Value + .Range("E" & j).Value
Range("J" & I).Value = Total_Payments
End If
End If
Next j
End If
Next I
End With
End Sub
Я был бы очень рад, если бы вы могли сказать мне, как сделать эту работу для числа ячеек в одной группе больше, чем2 :) Спасибо !!