使用VBA写一段代码,当A2单元格内容改变或被编辑时自动触发,若A2为"boy",则C2、D2单元格变为红色,并不可编辑。
时间: 2024-09-26 22:14:54 浏览: 64
Excel-VBA宏编程实例源代码-当单元格选取范围被改变时执行代码.zip
你可以使用 VBA 编写一段宏,将事件绑定到 A2 单元格的 Change 事件。以下是满足您需求的代码示例:
```vba
Private Sub Worksheet_Change(ByVal Target As Range)
' 检查修改的是不是 A2 单元格
If Intersect(Target, Range("A2")) Is Nothing Then Exit Sub
' 如果 A2 的值为 "boy"
If Target.Value = "boy" Then
' 将 C2 和 D2 设置为红色字体
Range("C2:D2").Font.Color = RGB(255, 0, 0) ' 红色
' 阻止单元格被编辑,设置只读
Range("C2:D2").Locked = True
Else
' 若 A2 值不再是 "boy",恢复默认颜色并允许编辑
Range("C2:D2").Font.Color = RGB(0, 0, 0) ' 黑色
Range("C2:D2").Locked = False
End If
End Sub
```
这段代码会监听工作表上 A2 单元格的变化。如果变化后 A2 的值是 "boy",它会立刻让 C2 和 D2 变成红色并锁定不可编辑;反之,如果 A2 内容更改后不再是 "boy",它会把这两个单元格的颜色恢复为黑色并允许编辑。
阅读全文