【问题标题】:Highlight cells + adjacent 2 cells if certain text if located如果找到某些文本,则突出显示单元格 + 相邻的 2 个单元格
【发布时间】:2015-05-05 21:29:08
【问题描述】:

如果任何单元格包含文本“example”,则该单元格+右侧同一行的两个单元格,将被突出显示。

例如

b5 包含“example”,b5,c5,d5 需要用橙色高亮 b9 包含“示例”,b9,c9,d9 需要以橙色突出显示。

等等。多行多列可以包含特定文本。

任何帮助,示例表示赞赏。

Private Sub CommandButton1_Click()

    row_number = 4

    Do

        DoEvents
        row_number = row_number + 1
        swing_data = Sheet1.Range("B" & row_number)

        If InStr(swing_data, "Test") >= 1 Then

            With Range("B" & row_number).Offset(, 2).Interior
                .Pattern = x1solid
                .PatternColorIndex = x1automatic
                .Color = 65535
                .PatternTintAndShade = 0
            End With

        End If

    Loop Until swing_data = ""      

End Sub

这并没有突出显示右侧的 2 个单元格,如果有一个空白单元格,它就会停止。而且它只适用于一列。需要在 B、E、N、Q、Z、AC 列上工作,

改变了这一行

<code>With Range("B" & row_number).Offset(, 2).Interiorcode>

阅读&lt;code&gt;With Range("B" &amp; row_number).resize(, 3).Interiorcode>

而且它有效。
在此...中包含多个列会更简单吗?

【问题讨论】:

  • 不需要 VBA。看Conditional Formatting
  • 我查看了条件格式,但未能找到实现此目的的方法。需要很多很多的规则。正在使用的excel版本不能超过3条规则。因此,为什么要走 vba 路线。
  • 根据您的示例数据,您将首先选择 B5:D5,然后使用此公式 =$B5="Example" 创建基于公式的 CF 规则。这可以复制到其他行,也可以手动调整Applies to:
  • 我已经经历了至少 30 种不同的条件格式、公式等,但条件格式并没有让我获得结果。

标签: vba excel


【解决方案1】:

条件格式:

由于多个列可能包含您的标准,您需要一个更复杂的公式(条件格式 - 使用公式...):=or(iferror(rc[-1]="example",false),iferror(rc[-2]="example",false),rc="example") - 注意:我在输入条件格式之前切换到 R1C1 参考样式,因为我发现它有点小清除那里; iferror 是使公式在第一列和第二列中也起作用所必需的。

VBA:

您可以使用 VBA 查找对象循环遍历所有实例并更改其中的格式(我认为内置帮助和录制一些简短的宏可能会为您提供足够的信息来创建它)

【讨论】:

  • 谢谢,但我不想使用 CF。我正在使用 VBA 代码来完成这项工作。我试图制作一些宏来实现这一点,但没有成功。
  • 请发布您迄今为止使用 VBA 取得的成就。当您遇到困难时,我们会为您提供帮助,而不是从头开始创建代码。
  • 请编辑您的问题。我也不是格式方面的专家,您可以在编辑过程中的帮助中找到有用的信息。
  • 不让我发布代码,说太长了太多字符
  • 尝试只选择与解决方案严格相关的部分/未按预期工作或给出错误消息的部分。很抱歉,但现在看来您希望我们比您自己付出更多的努力来解决您的问题。
【解决方案2】:

如果您想避免使用 VBA,可以使用条件格式来执行此操作。选择要应用格式的单元格(例如 B1:D10),单击条件格式 -> 新建规则... -> 使用公式确定要格式化的单元格。使用这个公式

=EXACT($B1,"example")

列前面的 $ 确保只查看该列,该行将是独立的。然后,您需要将格式更改为您想要的任何格式。在您的情况下,将填充更改为橙色。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-13
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 2020-02-19
    相关资源
    最近更新 更多