Hvordan fremhæves specifik tekst i en celle baseret på anden tekst?
I Excel kan det være let for os at fremhæve cellerne baseret på en bestemt tekst, men her vil jeg fremhæve en bestemt tekst i en celle for at gøre den fremragende, men ikke hele cellen. Dette er måske en besværlig for de fleste af os. Denne artikel vil jeg tale om nogle tricks til at løse dette job i Excel.
Fremhæv en eller flere specifikke tekst i flere celler med VBA-kode
For eksempel har jeg en række tekststrenge, og nu vil jeg fremhæve den specifikke tekst “Himmel”I disse celler for at få resultatet som følgende skærmbilleder vist:
For kun at fremhæve en del af teksten i en celle kan følgende VBA-kode hjælpe dig.
1. Vælg de celler, som du vil fremhæve den specifikke tekst, og hold derefter nede ALT + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.
2. Klik indsatte > Moduler, og indsæt følgende kode i Moduler Vindue.
VBA-kode: Fremhæv en del af teksten i en celle:
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. Tryk derefter på F5 nøgle til at køre denne kode, og der vises et promptfelt for at minde dig om at indtaste den tekst, du kun vil fremhæve, se skærmbillede:
4. Og klik derefter på OK knap, al den tekst, du har angivet, er kun fremhævet i cellerne, se skærmbillede:
VBA-kode: Fremhæv flere nøgleord fra tekststrenge:
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
Derefter skal du i det poppede felt indtaste de nøgleord, du vil fremhæve, (adskil ordene med komma), se skærmbillede:
Klik derefter på OK knap, de angivne ord er fremhævet på én gang, se skærmbilleder:
Bemærk: Ovenstående koder er store og små bogstaver.
Fremhæv en eller flere specifikke tekst i flere celler med en fantastisk funktion
Hvis du ikke er fortrolig med koden i Excel, vil jeg her introducere et let værktøj - Kutools til Excel, Med Marker nøgleord funktion, kan du fremhæve det specifikke et eller flere nøgleord på én gang i cellerne.
Efter installation Kutools til Excelskal du gøre som følger:
1. Klik Kutools > tekst > Marker nøgleord, se skærmbillede:
2. I Marker nøgleord dialogboksen, skal du udføre følgende handlinger:
- Vælg det dataområde, du vil bruge, fra Range tekstboks;
- Vælg cellerne, der indeholder de nøgleord, du vil fremhæve, du kan også indtaste nøgleordene manuelt (adskilt med komma) i Søgeord tekstboks
- Til sidst skal du angive en skrifttypefarve til fremhævning af teksterne med check Marker søgeordsfarver mulighed. (For at farve hele cellerne, der indeholder nøgleordene, skal du vælge Marker celleindholdets farver ekstraudstyr)
3. Klik derefter på Ok knap, alle angivne tekster er fremhævet som vist nedenstående skærmbillede:
Bemærk: Denne funktion er ikke store og små bogstaver, hvis du vil fremhæve teksten med store og små bogstaver, skal du kontrollere match Case i Marker nøgleord dialog boks.
Fremhæv specifik tekst i en celle baseret på anden tekst med VBA-kode
Her er en anden situation, jeg har to kolonner, hvor den første kolonne indeholder tekststrengene, og den anden kolonne er den specifikke tekst, nu skal jeg fremhæve den relative tekst i den første kolonne baseret på den specifikke tekst i den anden kolonne for hver række.
1. Hold nede ALT + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.
2. Klik indsatte > Moduler, og indsæt følgende kode i Moduler Vindue.
VBA-kode: Fremhæv en del af teksten i en celle baseret på anden tekst:
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. Efter at have indsat koden, og tryk på F5 nøgle til at køre det, vises et promptfelt for at minde dig om at vælge dataområdet, som både indeholder tekststrengen og den specifikke tekst, du vil fremhæve og baseret på, se skærmbillede:
4. Og klik derefter på OK -knappen, er al den tilsvarende tekst i den første kolonne baseret på den specifikke tekst i den anden kolonne farvet rød som følgende skærmbillede:
Flere relative artikler:
- Fed skrifttekst, når sammenkobles to kolonner i Excel
- I Excel-regneark, efter sammenkædning af to celleværdier med formler, kan du muligvis finde ud af, at det ikke vil give en fed del af teksten i den kombinerede formelcelle. Dette kan nogle gange være irriterende, hvordan kunne du fed teksttekst, når du sammenkæder to kolonner i Excel?
- Sammenkæd cellekolonner og hold tekstfarve i Excel
- Som vi alle vidste, vil celleformatering (såsom tekstfarve, antal formatering osv.) Gå tabt, når du sammenkæder eller kombinerer cellekolonner i en kolonne. Denne artikel vil jeg introducere nogle tricks til at kombinere cellekolonnerne i en og holde tekstfarven så let som muligt i Excel.
- Vis specifik tekst baseret på værdier i en anden kolonne
- Antag, jeg har en liste over numre, nu vil jeg vise en bestemt tekst i en anden kolonne baseret på denne kolonnetal. For eksempel, hvis cellenummeret er mellem 1-100, vil jeg have, at teksten "Reducer" vises i tilstødende celle. Hvis tallet er mellem 101-200, vises teksten "Stabil", og hvis tallet er større end 200 , vises teksten "Forøg" som vist nedenstående skærmbillede. For at løse denne opgave i Excel kan følgende formler i denne artikel hjælpe dig.
- Sumceller med tekst og tal i Excel
- For eksempel har jeg en liste over værdier, der indeholder numeriske og tekstlige strenge, nu vil jeg kun summere tallene baseret på den samme tekst, se på følgende skærmbillede. Normalt kan du ikke opsummere værdierne på listen med tekststreng direkte, her vil jeg introducere dig nogle formler til at håndtere denne opgave.
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere
- Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
- Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
- Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!