2016-04-06 8 views
1

Angenommen, ich habe einen Zellenwert "Mobiler Erfolg". Wenn ich diese Zelle auswähle, sollten alle Zellen, die beide "mobile" & "Erfolg" -Werte haben, hervorgehoben werden.Wie Markieren von Zellen in Excel?

Alle diese Zellen sollten hervorgehoben werden: "mobile Leistung" oder "Leistung mobile" oder "abc mobile Leistung" oder "mobile abc Leistung" oder "mobile abc xyz Leistung" & so weiter.

Meine Frage ist: Wie Zellen in Excel direkt mit einer Funktion hervorheben?

+2

Excel-Funktionen sind nicht die Art von Dingen, die Highlight-Zellen. Sie können bedingte Formatierungsregeln verwenden, die Zellen anhand ihres Inhalts automatisch hervorheben, und die Formatierungsregeln können mit einer bestimmten Zelle verknüpft werden, aber die in den Regeln verwendete Zelle wird nicht einfach durch * Auswählen * einer Zelle geändert. Es gibt eine VBA-Lösung, aber es wäre eher ein Event-Handler ('Worksheet_SelectionChange') als eine Funktion. –

Antwort

2

können Sie die folgende Funktion verwenden, um Ihre Ergebnisse zu erhalten. Es wird die Anzahl der Spiele mit der Markierung zurückgeben.

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

Verwandte Themen