2016-04-06 3 views
1

Предположим, что у меня есть значение ячейки «Мобильное достижение», поэтому, когда я выбираю эту ячейку, все ячейки, имеющие как «мобильные» & «достижения», должны быть выделены.Как выделить ячейки в Excel?

Все эти ячейки должны быть подсвечены: «мобильное достижение» или «мобильное достижение» или «мобильное достижение abc» или «мобильное достижение abc» или «мобильное достижение abc xyz» & и так далее.

Мой вопрос: Как выделить ячейки в Excel непосредственно с помощью функции?

+2

функции Excel не те вещи, которые освещают клетки. Вы можете использовать условные правила форматирования, которые автоматически выделяют ячейки на основе их содержимого, а правила форматирования могут быть связаны с определенной ячейкой, но ячейка, используемая в правилах, не будет изменяться просто путем * выбора * ячейки. Существует решение VBA, но это будет обработчик событий ('Worksheet_SelectionChange'), а не функция. –

ответ

2

Вы можете использовать нижеследующую функцию, чтобы получить результаты. он вернет счетчик совпадений с подсветкой.

Public Function highlightrange(texttocheck As String, r As Range) 
    Dim totalmatchcount As Integer 
    Dim matchcount As Integer 
    r.Cells.Font.ColorIndex = 0 
    matchcount = 0 
    texttocheck = Replace(texttocheck, " ", "") 
    str1 = Split(texttocheck, " ") 
    str2 = UBound(str1) 
    For i = 1 To r.Cells.Count 
     For j = 0 To str2 
      If InStr(r.Cells(i), str1(j)) > 0 Then 
       matchcount = matchcount + 1 
      End If 
     Next j 
     If matchcount = str2 + 1 Then 
      r.Cells(i).Font.ColorIndex = 8 
      totalmatchcount = totalmatchcount + 1 
     End If 
     matchcount = 0 
    Next i 
    highlightrange = totalmatchcount 
End Function 

enter image description here

Смежные вопросы