excel vba 中如果一个单元格的颜色随鼠标点击而变成红色,哪么同时它右边的单元格的值为1。这么弄?求大侠

就是颜色的变化 会让相关的单元格随之变化的代码?求教大侠们?

Dim AD ‘通用变量,用来存上一个选择的地址,以便清除颜色
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Target
If AD <> "" Then ’如果有旧的地址,就是之前选过单元格
AD = Right(AD, Len(AD) - 1)
Range(AD).Interior.ColorIndex = xlNone ‘把前一次选过的单元格的颜色复原
End If
.Interior.ColorIndex = 3 ’设置选中的单元格底色为红色
Cells(.Row, .Column + 1) = 1 ‘右边格子的数值=1
AD = .Address(RowAbsolute:=False) ’把当前的地址存储备用
End With
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-20
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
if target.interior.color=vbred then target.offset(0,1).value=1
End Sub
第2个回答  2012-04-16
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
With Target
'清除工作表单元格的背景色
.Parent.Cells.Interior.ColorIndex = xlNone
'设置选中区域所在行的背景色
.EntireRow.Interior.Color = vbCyan
'设置选中区域所在列的背景色
.EntireColumn.Interior.Color = vbCyan
End With
End Sub