【问题标题】:Independent conditional formatting based on another worksheet基于另一个工作表的独立条件格式
【发布时间】:2021-03-24 18:51:20
【问题描述】:

我为仓库创建了一份库存管理文档。它有一个名为“IN”的工作表和一个名为“公式”的工作表。在“公式”表中,我创建了复杂的(嗯......无论如何都相对复杂)公式来计算我的库存量如此低以至于我需要下订单的点(重新供应点)。

在“IN”工作表上,我显示了我有多少库存(任何给定项目)。目前没有其他方法可以判断我的“IN”存储是否足够(相对于重新订购点),除非我进入“公式”页面。

我想做的是:

我想根据 D4 到 D1000(独立)是否小于或等于它们的对应项(相隔 37 个单元格)在“公式”N10 到 N36862。

示例: 库存名称 (A4) 是其常规颜色,因为库存量 (D4) 超过公式工作表(单元格 N10)上指示的再供应点

换句话说: A4(常规颜色)因为 D4 > "formulas!N10"

同时 A5(红色)因为 D5

同时 A6(常规颜色)因为 D6 > "formulas!N84"

等等

我需要 VBA 来执行此操作的原因是因为“公式”工作表上的重新供应点(如您在示例中看到的)相隔 37 个单元格,并且因为有 1000 行并且通过手动执行此操作条件格式菜单需要几天时间(而且我没有时间花在工作上)。

我打算在 VBA 中为第一个库存行 (A4) 编写代码,然后为每个库存行复制它,使用 Excel 更改行的值(我知道如何 - 以前做过,它很棘手但可行)。一定要让我知道是否有人有更好的主意:)

根据我目前在网上找到的内容,我已经尝试了 20 多种不同的方法,但我还没有破解此代码。我仍然没有发现任何人试图做与此完全相同的事情,因此解释不同的方法以满足我的需要非常困难。

【问题讨论】:

  • 为什么不在“公式”选项卡上添加一列来提取 ColN 值并执行必要的计算?那么你的条件格式就很简单了。
  • 您好,蒂姆,感谢您抽出宝贵时间。我没有这样做的原因是因为我仍然需要单独引用 1000 个单元格来制作您描述的列。另外,我在“公式”页面上已经有很多信息,如果可以避免,我不想再添加更多。我想让文档尽可能容易理解(用户不必对 excel 有很多了解来解释它)。

标签: excel vba formatting conditional-statements


【解决方案1】:

我认为,您仍然可以使用条件格式来做到这一点。 您需要添加适用于 A4:A1000 的条件格式并将其设置为“设置此公式为真的单元格格式”(即条件格式 > 新规则 > 使用公式)。 公式是这样的;

=$D4<=INDEX(formulas!N:N, ROW($D4)*37-138)

显然,您只需要设置颜色/格式以突出显示相关单元格。

【讨论】:

  • 快速解释; INDEX() 函数通过输入要查看的范围返回单元格的值,然后将行和列值作为单独的坐标 - 在这种情况下,您告诉它查看公式表的 N 列,以及该公式计算将在哪一行找到相应的值。
  • 谢谢斯宾塞,感谢您的努力。不幸的是,这不起作用。我准确地输入了公式,但得到了错误回复。说了这么多,*37-138 是从哪里来的?
  • 啊,抱歉 - 错误是什么? *37-138 旨在为每个对应值返回正确的行(* 表示乘法,4 x37-138=10、5 x37-138=47、6 x37-138=84 等)如果有意义的话?
  • 或许可以尝试在开头不带= 的情况下输入公式?
  • 如果工作表名称完全错误,例如开头有一个大写字母,也会有所不同。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-16
  • 1970-01-01
  • 2015-02-11
  • 1970-01-01
  • 2020-08-11
  • 2014-11-02
  • 1970-01-01
相关资源
最近更新 更多