EXCEL中如何让一个单元格内的数值根据这个单元格的颜色的改变而改变?

EXCEL中如何让一个单元格内的数值根据这个单元格的颜色的改变而改变? 比如A单元格的背景色是黑色,值是1,当将A单元格背景色设为红色后,值自动变成2,如何实现?最好是用VBA来实现。感谢各位!

工具—宏—编辑器—双击sheet1(sheet1),把下面代码粘上,在改变填充色后,要把鼠标放在单元格的编辑框里回下车,值就会改变,如果不在编辑框内回车,只改变填充色,vba程序会认为单元格无改动,值就不会改变。

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Interior.Color = vbBlack Then
Target.Value = 1
Else
If Target.Interior.Color = vbRed Then
Target.Value = 2
End If
End If
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-25
应该是Workbook选择改变时触发,这样不管那个表都能用,楼上“三三万尺”的是只对SHEET1有效,我改的:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
If Target.Interior.Color = vbBlack Then '如果为黑色
Target.Value = 1
Else
If Target.Interior.Color = vbRed Then '如果为红色
Target.Value = 2
End If
End If
End Sub
相似回答