我已经阅读了许多以前类似的问题和答案,但仍然无法让我的代码正常工作。
我想根据其他一些单元格的背景颜色计算一些单元格的总和。特别是,仅当单元格 (x,z) 的颜色是所选颜色 (RGB(0, 176, 80)) 时,我才会在总和中包含一个单元格 (x,y)。
FIRST 总和计算正确,但是,当我修改 F1:G100 范围内的单元格时,我确实收到通知(“pd”),但目标单元格上没有发生任何更改。
此代码位于我希望进行更改的工作表中。
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Target.Worksheet.Range("F1:G100")) Is Nothing Then
Cells(11, 14).Value = Sum1()
Cells(12, 14).Value = Sum2()
MsgBox "pd"
End If
End Sub
'-----------------------------------------------------------------------
Public Function Sum1() As Double
Dim N As Long
Sum1 = 0
For N = 4 To 100
colorBackground = Cells(N, 2).Interior.Color
If colorBackground = RGB(0, 176, 80) Then
Sum1= Sum1+ Cells(N, 6).Value
End If
Next N
End Function
'-----------------------------------------------------------------------
Public Function Sum2() As Double
Dim N As Long
Sum2 = 0
For N = 4 To 100
colorBackground = Cells(N, 2).Interior.Color
If colorBackground = RGB(0, 176, 80) Then
Sum2= Sum2+ Cells(N, 7).Value
End If
Next N
End Function