在Excel中,如何知道某行中是否存在某个值然后突出显示它?

时间:2015-06-11 13:49:01

标签: excel vba excel-vba

我有2张名为SheetA和SheetB的纸张。

在SheetA中,A2为空白,将填充“客户1”或“客户2”等值。 B1到F1包含“Car”,“Contract”,“Pet”,“Home”等项目

在SheetB中,A1至A80包含“客户1”至“客户80”。然后我有B到F的随机包含项目“Car”,“Contract”或“Pet”。这意味着“客户1”将拥有“汽车”,“合同”,但“客户2”只能拥有“宠物”。

我想要做的是在工作表1中高亮显示单元格B2到F2,无论客户是否根据SheetB中的信息以及输入到Sheet 1单元格A2中的名称拥有汽车或宠物。

我认为这可以通过使用条件格式来完成,但我无法使公式正确。

3 个答案:

答案 0 :(得分:0)

我建议你使用" ="在sheet1中,在整个矩阵(B1:F27)中复制sheet2中的值,然后进行条件格式化#34;等于" - >不等于0,希望它能回答你的问题。

答案 1 :(得分:0)

也许您可以使用此代码。这将遍历SheetB上的所有名称,并将它们与SheetA中的单元格A1进行比较。你所要做的就是突出显示的内容。

Sub Example()
    Dim counter As Integer
        Set counter = 0
    Dim cell As Range
        Set cell = "A1"
    Dim active As Range
        Set active = cell

    Do While counter <= 80
        active = Worksheets("SheetB").Range(cell)
        If active = Workseets("SheetA").Range("A2") Then
            'start doing your drawing'
        End
        counter = counter + 1
        cell = cell.Offset(1, 0)
    Loop       
End Sub

答案 2 :(得分:0)

如果我理解正确,您要突出显示SheetA!A2中指定的客户所拥有的商品的单元格,而SheetA的列标题与SheetB中找到该商品的列相匹配。因此,例如,如果SheetA!A2包含Customer 2,则应突出显示单元SheetA!D2。如果这是正确的理解,那么条件格式化公式可以是:=INDIRECT("SheetB!D"&MATCH($A2,SheetB!$A$1:$A$10,0))>0

以下是我对SheetA的理解: enter image description here 以下是我对SheetB的理解: enter image description here