【问题标题】:How to highlight a cell when formula result from another sheet changes?当另一个工作表的公式结果发生变化时如何突出显示单元格?
【发布时间】:2014-01-29 18:48:10
【问题描述】:

这是一个让我很头疼的问题,我几乎尝试了 Internet 上的所有解决方案。

这里是背景。我有一个 HR 模型,每个部门都在单独的选项卡上细分。我想在每次工资单运行时从我们的工资单系统中提取数据,并单独发送突出显示的任何更新。如果某人的头衔或薪水或状态发生变化,我希望通过突出显示单元格来进行标注。

每个选项卡都使用对提取选项卡的 INDEX/MATCH 查找来提取当前信息。我想要的是如果任何值发生变化或是新的(例如,新员工),突出显示单元格。

我玩过 Worksheet_Calculate 和 Worksheet_Change 无济于事。 Worksheet_Change 不会触发,因为我没有直接在工作表上进行更改,并且 Worksheet_Calculate 没有可供引用的 Target 对象。我试过以下代码:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim updatedCell As Range
Set updatedCell = Range(Target.Dependents.Address)

If Not Intersect(updatedCell, Range("A:A")) Is Nothing Then
   updatedCell.Interior.ColorIndex = 3
End If

End Sub

我实际需要评估的范围是 A7:R104,但是当链接到另一张工作表时,我一直在尝试让任何东西工作。

如果目标单元格的公式指向同一张表上的另一个单元格,这可以正常工作。当您指向另一张纸上的一个时,它就不起作用了。我在这里尝试了大多数解决方案,但没有成功。我什至尝试将 Worksheet_Change 放在提取表上,看看我是否可以在没有运气的情况下以这种方式触发它。

是否有推荐的解决方案来触发对链接到另一个工作表的公式的单元格的更改?

【问题讨论】:

  • 你没有解释数据是如何变化的。我假设您的工作簿包含上次工资单运行的数据。然后,您从新的工资单运行中获取数据。新数据会覆盖旧数据吗?您是否希望部门标签中公式的新值触发颜色更改?新员工怎么会有一个现有的公式?离校生呢?如果不将本月的数据与上个月的数据进行 VBA 比较,我很难想象这将如何工作。
  • 谢谢托尼,你是对的。我将在选项卡上显示工资单数据的当前快照,并且我需要检测更改的工作表具有索引/匹配公式来提取所有数据。公式根据成本中心严格提取 ADP 选项卡上的任何内容每个选项卡都会弯曲。因此,这说明了任何终止、任何转移等。效果很好,只是无法检测到变化
  • 看看我是否正确。 Sheet1 是以前的工资单。 Sheet2 是最新的工资单。 Sheet3 以后是部门工作表,从 Sheet2 导入与每个部门相关的所有数据。如果 Sheet1 和 Sheet2 中的值不同,您希望从 Sheets3 开始着色。我不是 Excel 用户;我只是将 VBA 用作一种方便的编程语言,将工作簿用作简单数据的方便存储库。使用 VBA 听起来很容易,但我不知道如何使用公式或条件格式来实现它。

标签: vba excel


【解决方案1】:

所以我才看到这个帖子,不知道你是否找到了解决方案或者还在寻找,但是:

如果您在工作表 3 中选择了一个单元格,则可以转到主页选项卡,转到“条件格式”-突出显示单元格规则-更多规则(在底部)-和“使用公式确定要格式化的单元格",然后将光标放在公式框中。现在,在工作表 1 中选择一个单元格(单击 sheet1 选项卡,然后单击一个单元格),您会注意到它应该填充 sheet1 的地址,以及您选择的单元格。现在在该单元格地址之后键入 ,然后选择 sheet2 和一个单元格。然后单击格式,然后选择填充颜色。那么好的。如果您转到条件格式并管理规则,它将在那里显示规则/公式以及它适用于哪些单元格。

这样做我可以选择表 3 中的单元格 D10,如果表 1 和 2 中的单元格不匹配(我选择了哪些单元格),则它会变成丑陋的绿色,您还可以选择一系列单元格。

因此,您可以将此规则应用于您想要的任何戴尔,如果您录制了一个设置此条件格式的宏,您可以操纵该宏以将其应用于一堆不同的单元格,并更改范围。 (使用循环/变量)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-13
    • 1970-01-01
    • 2016-02-22
    • 1970-01-01
    • 1970-01-01
    • 2020-06-27
    • 2016-11-02
    相关资源
    最近更新 更多