根据另一个单元格的值不断更新一个单元格的颜色

时间:2020-01-29 09:10:45

标签: excel vba

我有一个具有5列(A:E)的Excel电子表格。对于每行,我希望根据A中的值为所有列上相同的颜色。这些颜色应该是渐变比例。 列A是不断更新的公式。

我有一个这样的解决方案:

  1. 使用色标(红色到绿色)对A列进行条件格式化
  2. 让vba代码监视器更改为工作表,并根据A列中的值重新着色B:E列中的单元格。

宏看起来像这样:

'Sub to watch value changes
Private Sub Worksheet_Calculate()
    Dim Xrg As Range
    Set Xrg = Range("A2:A19")
    If Not Intersect(Xrg, Range("A2:A19")) Is Nothing Then
        color_filters
    End If
End Sub

'Sub to change colors

Public Sub color_filters()
   Dim i as integer
   Dim j as integer
   'Loop through rows then columns
    For i = 2 To 19
        For j = 2 To 5
            Cells(i, j).Interior.color = Cells(i, 1).DisplayFormat.Interior.color
        Next j
    Next i

End Sub

A中的值是使用各种频率更新的浮点数。 B:E列中的值是从属的。

此解决方案可以完成工作,但是它意味着方舟会连续运行宏,从而打扰电子表格的用户。

我正在寻求一种解决方案,当对A列中的值进行更改时,仅运行宏。

0 个答案:

没有答案