VBA/基于公式的条件格式化

问题描述 投票:0回答:1

对于这两个我更喜欢 VBA,但是条件格式就可以了。

1: 我需要 vba/条件格式来按以下方式格式化我的表 A:F:

本质上: 如果单元格 A2 和 A1 不同,我需要顶部边框 我需要顶部和底部边框,单元格 A2 和 A1 不一样并且单元格 A2 和 A3 不一样 如果单元格 A2 和 A3 不同,我需要底部边框

条件格式

可悲的是,这什么也没做,我不知道为什么

2: 如果特定文本位于该行的 b 列中,我需要 vba/条件格式来用特定文本(每列不同)填充单元格 a:f。

我的示例处于公式模式,但我知道它不直接适合 vba 或条件格式:

B105 牢房内 =IF(A105="ETSY",B1,0)

期望的效果是单元格 B105 返回 B1 中的值,依此类推,C105 从 C1 读取值,一直到单元格 F。 但前提是该行 A 中的值具体为“ETSY”

除此之外,因为它可能更容易同时包含(也许)。我也希望这一行的格式设置为粗体。

条件格式

编辑:

它在错误的位置添加了线条。

它应该看起来像这样:

但它看起来像这样:

excel vba conditional-formatting
1个回答
0
投票

对于边框,您只需要一个条件公式:当(A 列)单元格的值与下面 的单元格不同时,为该单元格添加(底部)边框。由于您希望根据单元格 A 中的值将边框放置到整行(从 A 列到 F 列),因此您可以将美元符号放置到列字符上。所以公式看起来很简单

=$A1<>$A2

请注意(至少在您的屏幕截图上),公式周围有引号。它们有时由 Excel 添加。如果是这种情况,请删除它们。

A 列为“Etsy”的行的条件格式非常相似,其公式为

=$A1="ETSY"

再次输入后,检查 Excel 是否在整个公式周围添加了引号。


现在,如果 A 列包含“ETSY”,则无法使用公式填充 B 列中的单元格 - 只是因为单元格不能包含值 公式。如果您使用像

=IF(A105="ETSY",B1,0)
这样的公式,则在 A 列中的值为 not“ETSY”的任何单元格中最终都会得到 0 - 并且原始内容消失了。您可以为此编写一些 VBA 代码,但这是另一个主题。您的问题是关于条件格式的,并且有一条规则(有充分的理由),即一个问题应仅包含一个问题,而不是多个问题。

© www.soinside.com 2019 - 2024. All rights reserved.