如果用户更改该单元格的内容,请更改单元格的颜色

时间:2017-01-27 15:33:24

标签: vba excel-vba excel

如果用户更改了单元格,请尝试更改单元格的颜色。目前它更改了我在更改某些内容后选择的下一个单元格。

Private Sub Worksheet_Change(ByVal Target As Range)
If Environ("Username") = "HelloWorld" Then
    With ActiveCell.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 7195899
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End If
End Sub

1 个答案:

答案 0 :(得分:1)

你只需要改变" ActiveCell.Interior" to" Target.Interior":

Private Sub Worksheet_Change(ByVal Target As Range)
If Environ("Username") = "HelloWorld" Then
    With Target.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 7195899
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End If
End Sub

这是因为在更改任何单元格后会触发此子程序,因此" ActiveCell"引用与" Target"。

不同

快乐的编码!