Comment mettre en évidence un texte spécifique dans une cellule en fonction d'un autre texte?
Dans Excel, il peut être facile pour nous de mettre en évidence les cellules en fonction d'un texte spécifique, mais, ici, je souhaite mettre en évidence un texte spécifique dans une cellule pour le rendre exceptionnel, mais pas la cellule entière. C'est peut-être un problème pour la plupart d'entre nous. Cet article, je vais parler de quelques astuces pour résoudre ce travail dans Excel.
Mettez en surbrillance un ou plusieurs textes spécifiques dans plusieurs cellules avec le code VBA
Par exemple, j'ai une plage de chaînes de texte, et maintenant, je veux mettre en évidence le texte spécifique "Sky»Dans ces cellules pour obtenir le résultat comme les captures d'écran suivantes:
Pour ne mettre en évidence qu'une partie du texte dans une cellule, le code VBA suivant peut vous aider.
1. Sélectionnez les cellules dans lesquelles vous souhaitez mettre en surbrillance le texte spécifique, puis maintenez la touche ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.
2Cliquez sur insérer > Moduleet collez le code suivant dans le Module Fenêtre.
Code VBA: mettez en surbrillance une partie de texte dans une cellule:
Sub HighlightStrings()
'Updateby Extendoffice
Application.ScreenUpdating = False
Dim Rng As Range
Dim cFnd As String
Dim xTmp As String
Dim x As Long
Dim m As Long
Dim y As Long
cFnd = InputBox("Enter the text string to highlight")
y = Len(cFnd)
For Each Rng In Selection
With Rng
m = UBound(Split(Rng.Value, cFnd))
If m > 0 Then
xTmp = ""
For x = 0 To m - 1
xTmp = xTmp & Split(Rng.Value, cFnd)(x)
.Characters(Start:=Len(xTmp) + 1, Length:=y).Font.ColorIndex = 3
xTmp = xTmp & cFnd
Next
End If
End With
Next Rng
Application.ScreenUpdating = True
End Sub
3. Puis appuyez F5 pour exécuter ce code, et une boîte de dialogue apparaîtra pour vous rappeler d'entrer le texte que vous souhaitez mettre en surbrillance uniquement, voir capture d'écran:
4. Et puis cliquez OK bouton, tout le texte que vous avez spécifié a été mis en surbrillance uniquement dans les cellules, voir capture d'écran:
Code VBA: mettez en surbrillance plusieurs mots-clés à partir de chaînes de texte:
Sub HighlightStrings()
'Updateby Extendoffice
Application.ScreenUpdating = False
Dim Rng As Range
Dim cFnd As String
Dim xTmp As String
Dim x As Long
Dim m As Long
Dim y As Long
Dim xFNum As Integer
Dim xArrFnd As Variant
Dim xStr As String
cFnd = InputBox("Please enter the text, separate them by comma:")
If Len(cFnd) < 1 Then Exit Sub
xArrFnd = Split(cFnd, ",")
For Each Rng In Selection
With Rng
For xFNum = 0 To UBound(xArrFnd)
xStr = xArrFnd(xFNum)
y = Len(xStr)
m = UBound(Split(Rng.Value, xStr))
If m > 0 Then
xTmp = ""
For x = 0 To m - 1
xTmp = xTmp & Split(Rng.Value, xStr)(x)
.Characters(Start:=Len(xTmp) + 1, Length:=y).Font.ColorIndex = 3
xTmp = xTmp & xStr
Next
End If
Next xFNum
End With
Next Rng
Application.ScreenUpdating = True
End Sub
Ensuite, dans la zone pop-out, veuillez entrer les mots-clés que vous souhaitez mettre en évidence, (séparez les mots par une virgule), voir capture d'écran:
Et puis, cliquez OK bouton, les mots spécifiés ont été mis en surbrillance à la fois, voir les captures d'écran:
Notes: Les codes ci-dessus sont sensibles à la casse.
Mettez en surbrillance un ou plusieurs textes spécifiques dans plusieurs cellules avec une fonctionnalité étonnante
Si vous n'êtes pas familier avec le code dans Excel, ici, je vais vous présenter un outil simple - Kutools for Excel, Avec son Marquer le mot-clé , vous pouvez mettre en évidence un ou plusieurs mots-clés spécifiques à la fois dans les cellules.
Après l'installation de Kutools for Excel, procédez comme suit:
1Cliquez sur Kutools > Texte > Marquer le mot-clé, voir capture d'écran:
2. Dans le Marquer le mot-clé boîte de dialogue, veuillez effectuer les opérations suivantes:
- Sélectionnez la plage de données que vous souhaitez utiliser dans le Catégorie zone de texte;
- Sélectionnez les cellules contenant les mots-clés que vous souhaitez mettre en évidence, vous pouvez également entrer les mots-clés manuellement (séparés par une virgule) dans le Mots-clés zone de texte
- Enfin, vous devez spécifier une couleur de police pour mettre en évidence les textes par chèque Marquer les couleurs des mots clés option. (Pour colorer les cellules entières contenant les mots-clés, sélectionnez le Marquer les couleurs du contenu de la cellule option)
3. Puis clique Ok bouton, tous les textes spécifiés ont été mis en évidence comme ci-dessous la capture d'écran montrée:
Notes: Cette fonctionnalité n'est pas sensible à la casse, si vous souhaitez mettre en évidence le texte avec la casse, veuillez vérifier casse dans l' Marquer le mot-clé boite de dialogue.
Mettez en surbrillance un texte spécifique dans une cellule en fonction d'un autre texte avec le code VBA
Voici une autre situation, j'ai deux colonnes dont la première colonne contient les chaînes de texte et la deuxième colonne est le texte spécifique, maintenant, je dois mettre en évidence le texte relatif dans la première colonne en fonction du texte spécifique dans la deuxième colonne pour chaque rangée.
1. Maintenez le ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.
2Cliquez sur insérer > Moduleet collez le code suivant dans le Module Fenêtre.
Code VBA: mettez en surbrillance une partie de texte dans une cellule en fonction d'un autre texte:
Sub highlight()
'Updateby Extendoffice
Dim xStr As String
Dim xRg As Range
Dim xTxt As String
Dim xCell As Range
Dim xChar As String
Dim I As Long
Dim J As Long
On Error Resume Next
If ActiveWindow.RangeSelection.Count > 1 Then
xTxt = ActiveWindow.RangeSelection.AddressLocal
Else
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
LInput:
Set xRg = Application.InputBox("please select the data range:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
If xRg.Areas.Count > 1 Then
MsgBox "not support multiple columns"
GoTo LInput
End If
If xRg.Columns.Count <> 2 Then
MsgBox "the selected range can only contain two columns "
GoTo LInput
End If
For I = 0 To xRg.Rows.Count - 1
xStr = xRg.Range("B1").Offset(I, 0).Value
With xRg.Range("A1").Offset(I, 0)
.Font.ColorIndex = 1
For J = 1 To Len(.Text)
If Mid(.Text, J, Len(xStr)) = xStr Then .Characters(J, Len(xStr)).Font.ColorIndex = 3
Next
End With
Next I
End Sub
3. Après avoir collé le code, appuyez sur F5 clé pour l'exécuter, une boîte de dialogue apparaîtra pour vous rappeler de sélectionner la plage de données qui contient à la fois la chaîne de texte et le texte spécifique que vous souhaitez mettre en surbrillance et basé sur, voir capture d'écran:
4. Et puis cliquez OK bouton, tout le texte correspondant dans la première colonne basé sur le texte spécifique dans la deuxième colonne a été coloré en rouge comme capture d'écran suivante:
Articles plus relatifs:
- Texte de pièce en gras lors de la concaténation de deux colonnes dans Excel
- Dans la feuille de calcul Excel, après avoir concaténé deux valeurs de cellule avec des formules, vous constaterez peut-être que la partie du texte dans la cellule de formule combinée ne sera pas en gras. Cela peut parfois être ennuyeux, comment pouvez-vous faire une partie du texte en gras lors de la concaténation de deux colonnes dans Excel?
- Concaténer les colonnes de cellules et conserver la couleur du texte dans Excel
- Comme nous le savons tous, lors de la concaténation ou de la combinaison de colonnes de cellules en une seule colonne, le formatage des cellules (tel que la couleur de la police du texte, le formatage des nombres, etc.) sera perdu. Cet article, je vais vous présenter quelques astuces pour combiner les colonnes de cellules en une seule et conserver la couleur du texte aussi facilement que possible dans Excel.
- Afficher un texte spécifique en fonction des valeurs d'une autre colonne
- En supposant que j'ai une liste de nombres, maintenant, je veux afficher un texte spécifique dans une autre colonne en fonction de ces numéros de colonne. Par exemple, si le numéro de cellule est compris entre 1 et 100, je souhaite que le texte «Diminuer» s'affiche dans la cellule adjacente, si le nombre est compris entre 101 et 200, un texte «Stable» s'affiche et si le nombre est supérieur à 200 , un texte «Augmenter» s'affiche comme la capture d'écran suivante. Pour résoudre cette tâche dans Excel, les formules suivantes de cet article peuvent vous aider.
- Somme des cellules avec du texte et des nombres dans Excel
- Par exemple, j'ai une liste de valeurs contenant des chaînes numériques et textuelles, maintenant, je veux additionner uniquement les nombres basés sur le même texte, regardez la capture d'écran suivante. Normalement, vous ne pouvez pas additionner directement les valeurs de la liste avec une chaîne de texte, ici, je vais vous présenter quelques formules pour gérer cette tâche.
Meilleurs outils de productivité bureautique
Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et facilite grandement votre travail
- Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!