首页 > 解决方案 > 突出显示列中的单元格,与它们正上方的单元格相同

问题描述

我在宏中使用 VLOOKUP 公式来突出显示项目#(B 列)列表中的单元格。在每个项目正下方的单元格中是项目描述。我需要做的是,如果一个项目 # 被突出显示,则复制相同的突出显示以用于其正下方的描述。

Columns("B:B").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=VLOOKUP(B1:B3000,Sheet1!$A:$A,1,FALSE)"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Font
        .Bold = True
        .Italic = False
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = 0
    End With
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 12611584
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False

标签: excelvba

解决方案


  1. 我会使用ISNUMBERandMATCH而不是VLOOKUP,像这样:=ISNUMBER(MATCH(B1,Sheet1!A:A,0)).
  2. 通过相对引用并更改“适用于”范围,您可以使用类似的公式突出显示描述。例如,在以下示例中,公式为=ISNUMBER(MATCH(B2,Sheet1!A:A,0)),但“适用于”范围为B3:B12,有效地将突出显示应用到项目编号下方的单元格。

在此处输入图像描述

VBA 在这里应该很容易理解。


推荐阅读