Vba:根据部分匹配突出显示单元格

时间:2020-06-12 17:01:08

标签: excel vba match highlight partial

我有一个很好的解决方案,可以根据确切条件突出显示单元格。我试图根据部分匹配来突出显示。例如:A1 =道奇。 A2 =杜兰戈,A3 =飞镖。

我怎样才能部分匹配让我们说“ dodg”,“ duran”和“ dar”,然后不突出显示该单元格,而是其他所有单元格。基本上,如果缺少部分匹配项,则突出显示整个列中的单元格。

如果有匹配项,以下将突出显示“ Durango”:

Sub Highlight()

Dim Highlight As Range
Set ws = ActiveSheet
Set w = ws.Rows(1).Find("Dodge", lookat:=xlWhole)
 If Not w Is Nothing Then
    For Each Highlight In ws.Range(w, ws.Cells(Rows.Count, w.Column).End(xlUp)).Cells
            If Highlight = "Durango" Then
                Highlight.Interior.Color = 65535
            End If
        Next Highlight
 End If

End Sub

1 个答案:

答案 0 :(得分:0)

您可以使用

If Highlight Like "Durango" then...

Like会在该单元格中搜索该单词,因此它不必与整个单元格完全匹配,只需使用“ *”包含该单词或部分单词即可。因此,在您的情况下,设置一个匹配变量,然后使用


keyword = Cells(whatever cell your search word is entered into)
keyword = "*" & keyword & "*"
If Highlight Like keyword then
    'code to highlight whatever cells or _
    ' Set a Range and highlight the whole range.
end if