Как написать код: суммировать только те ячейки, заливка которых равна заливке ячейки А2?
[вложение удалено администратором]
Код
Private Sub CommandButton1_Click()
Dim Rng As Range, Arr(), i As Long, iSum As Single
Dim lngColor As Long
If Me.ComboBox1.Text = "" Or Me.ComboBox2.Text = "" Then
MsgBox "Укажите сроки!", vbExclamation, "Внимание"
Exit Sub
End If
If Me.ComboBox1.Value > Me.ComboBox2.Value Then
MsgBox "Первая дата должна быть меньше второй!", vbExclamation, "Внимание"
Exit Sub
End If
'Взятие цвета ячейки в переменную.
lngColor = Range("A2").Interior.Color
With Worksheets("Лист1")
Set Rng = .Range("B2:C" & .Cells(.Rows.Count, "B").End(xlUp).Row)
End With
Arr = Rng.Value
iSum = 0
For i = LBound(Arr, 1) To UBound(Arr, 1)
If Arr(i, 1) >= CDate(Me.ComboBox1.Value) And _
Arr(i, 1) <= CDate(Me.ComboBox2.Value) Then
If Rng.Cells(i, 2).Interior.Color = lngColor Then
iSum = iSum + CSng(Arr(i, 2))
End If
End If
Next i
MsgBox "Сезонность равна: " & iSum, vbInformation, "Сезонность"
End Sub
Все хорошо работает. Большое спасибо!