我想创建一个宏,通过单元格中的任何更改自动运行,所以我写下我的工作表的代码
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("B1:U1")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
Call changecolor
End If
End Sub
范围B1到U1的任何更改都会调用changecolor,而更改颜色代码是:
Sub changecolor()
Dim sum As Integer
For i = 0 To 19
ColorVar = Cells(1, i + 2).Interior.Color
If Not ColorVar = RGB(255, 255, 255) Then
sum = sum + 1
End If
Next i
Cells(1, 1).Value = sum * 5
End Sub
在上面的代码中,范围B1到U1的任何更改颜色都应该计算一个简单的计算并在A1
中显示结果但是当我测试我的代码并改变某些单元格的颜色时,我无法获得任何结果,而且代码似乎对单元格的颜色变化不敏感
我怎样才能解决我的问题?