如何基于相同的单元格更改值/覆盖条件格式

时间:2017-04-25 20:50:19

标签: excel vba modeling

我想知道是否可以在条件格式中编写代码或规则,如果我更改了单元格中的值,该单元格会突出显示或更改颜色,以明显我在模型中更改了输入条件。

我有一个模型,我的某些假设是我的输入。我还有一个覆盖部分,如果他们想要改变增长率,例如,只需输入单元格即可。是否有可能在覆盖该单元格中的值后让该单元格改变颜色?

谢谢!

1 个答案:

答案 0 :(得分:0)

使用WorksheetChangeEvent检测更改内容的时间:

Private Sub Worksheet_Change(ByVal Target As Range)
' do stuff
End Sub

将上述代码放入工作表对象中(双击代码编辑器中的工作表)。

使用Application.Intersect缩小已更改的内容。例如,如果您只对单元格A1到A10感兴趣:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A1:A10")) Is Nothing Then
     ' do stuff
End If
End Sub

然后格式化您更改的细胞:

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("A1:A10")) Is Nothing Then

     With Target.Interior
         .Pattern = xlSolid
         .PatternColorIndex = xlAutomatic
         .Color = 255
         .TintAndShade = 0
         .PatternTintAndShade = 0
     End With

End Sub

目标是受影响的细胞的范围。当然,用户可以一次影响多个小区,例如通过自动填充,您可能需要添加一些额外的逻辑,例如,如果Target.Rows.Count> 1,但你明白了。