Note: The other languages of the website are Google-translated. Back to English

Cum să colorați sau să evidențiați anumite cuvinte din celule în Excel?

Dacă o celulă conține mai multe cuvinte, cum puteți evidenția un anumit cuvânt numai în această celulă? Și ce zici de evidențierea acestui anumit cuvânt în mai multe celule? Acest articol va oferi o metodă de realizare a acestuia.

Colorează anumite cuvinte dintr-o singură celulă / mai multe celule cu cod VBA


Colorează anumite cuvinte dintr-o singură celulă / mai multe celule cu cod VBA

Următorul cod VBA vă poate ajuta să evidențiați anumite cuvinte dintr-o selecție. Vă rugăm să faceți următoarele.

1. Selectați intervalul conține celulele pe care doriți să le evidențiați. Apoi apăsați tasta Alt + F11 tastele simultan pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. În deschidere Microsoft Visual Basic pentru aplicații fereastră, faceți clic pe Insera > Module. Apoi copiați și lipiți codul VBA în fereastra Cod.

Cod VBA: Colorează anumite cuvinte din celule în Excel

Sub HighlightStrings()
    Dim xHStr As String, xStrTmp As String
    Dim xHStrLen As Long, xCount As Long, I As Long
    Dim xCell As Range
    Dim xArr
    On Error Resume Next
    xHStr = Application.InputBox("What is the string to highlight:", "KuTools For Excel", , , , , , 2)
    If TypeName(xHStr) <> "String" Then Exit Sub
    Application.ScreenUpdating = False
        xHStrLen = Len(xHStr)
        For Each xCell In Selection
            xArr = Split(xCell.Value, xHStr)
            xCount = UBound(xArr)
            If xCount > 0 Then
                xStrTmp = ""
                For I = 0 To xCount - 1
                    xStrTmp = xStrTmp & xArr(I)
                    xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.ColorIndex = 3
                    xStrTmp = xStrTmp & xHStr
                Next
            End If
        Next
    Application.ScreenUpdating = True
End Sub

3. apasă pe F5 tasta pentru a rula codul. Și în Kutools pentru Excel caseta de dialog, introduceți cuvântul pe care îl veți evidenția în celule, apoi faceți clic pe OK buton. Vedeți captura de ecran:

Apoi, puteți vedea toate cuvintele pe care le-ați specificat sunt colorate în roșu în celulele selectate imediat, așa cum este prezentat mai jos.


Legate de articole:


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (23)
Evaluat 5 din 5 · evaluări 1
Acest comentariu a fost redus la minimum de moderatorul de pe site
Nu explicați cum să deschideți „caseta de dialog Kutools pentru Excel” menționată în ultimul pas.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Dragă Justin,
Îmi pare rău pentru asta. După lipirea codului VBA în fereastra Cod, vă rugăm să apăsați tasta F5 pentru a rula codul, apoi se va deschide caseta de dialog „Kutools for Excel”. Mulțumesc.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Există vreo modalitate de a face codul să evidențieze cuvintele automat pe măsură ce editez filele?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună,
Îmi pare rău, nu te pot ajuta cu asta. Multumesc pentru comentariul tau.
Acest comentariu a fost redus la minimum de moderatorul de pe site
MULTUMESC, MULTUMESC, MULTUMESC
Acest comentariu a fost redus la minimum de moderatorul de pe site
Vreau să remarcați mai multe cuvinte în timp, cum pot face?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Eso es lo que estoy tratando de hacer tamiben (Asta incerc si eu sa fac)
Acest comentariu a fost redus la minimum de moderatorul de pe site
În cazul în care preferați ca căutarea/evidențierea să nu țină seama de majuscule și minuscule, schimbați linia „xArr = Split(xCell.Value, xHStr)” în „xArr = Split(LCase(xCell.Value), LCase(xHStr))”. De asemenea, am observat că apăsarea F5 nu rulează scriptul (dar în schimb dă o altă fereastră modală). L-am accesat activând fila Dezvoltator folosind opțiunile Excel (Personalizare panglică) și făcând ulterior clic pe Macro-uri.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc... a fost de mare ajutor! Există o modalitate de a ajusta macrocomandă astfel încât să evidențieze doar cuvinte întregi în loc de parțiale. De exemplu, încerc să evidențiez cuvântul „design”, dar evidențiază „design” în cuvântul „desemnare”. Vreau să sară peste acel cuvânt dacă nu este cuvântul întreg. Mulțumiri!
Acest comentariu a fost redus la minimum de moderatorul de pe site
bonjour,
Est-il possible de supprimer la boite de dialog et de mettre par défaut "apple" comme mot recherché ?
mulțumesc
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut PAUC,
Următorul cod vă poate face o favoare. Vă rugăm să încercați.
Sub HighlightStrings()
'Updated by Extendoffice 20220721
    Dim xHStr As String, xStrTmp As String
    Dim xHStrLen As Long, xCount As Long, I As Long
    Dim xCell As Range
    Dim xArr
    On Error Resume Next
    xHStr = "apple"
    If TypeName(xHStr) <> "String" Then Exit Sub
    Application.ScreenUpdating = False
        xHStrLen = Len(xHStr)
        For Each xCell In Selection
            xArr = Split(xCell.Value, xHStr)
            xCount = UBound(xArr)
            If xCount > 0 Then
                xStrTmp = ""
                For I = 0 To xCount - 1
                    xStrTmp = xStrTmp & xArr(I)
                    xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.ColorIndex = 3
                    xStrTmp = xStrTmp & xHStr
                Next
            End If
        Next
    Application.ScreenUpdating = True
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Acest,

Coloreaza cuvantul doar daca e la inceput. Daca e la mijloc in aceeasi casuta de excel sau la sfarsit nu-l coloreaza.
Ce anume as putea schimba in cod pentru al colora indiferent unde se afla in casuta excel?

Multumesc!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut Andreea,
Dacă doriți să evidențiați cuvântul doar dacă este la începutul celulelor selectate. Următorul cod VBA vă poate face o favoare. Vă rugăm să încercați.
Sub HighlightStrings()
'Updated by Extendoffice 20220805
    Dim xHStr As String, xStrTmp As String
    Dim xHStrLen As Long, xCount As Long, I As Long
    Dim xCell As Range
    Dim xArr
    On Error Resume Next
    xHStr = Application.InputBox("What is the string to highlight:", "KuTools For Excel", , , , , , 2)
    If TypeName(xHStr) <> "String" Then Exit Sub
    Application.ScreenUpdating = False
        xHStrLen = Len(xHStr)
        For Each xCell In Selection
            If xHStrLen <= Len(xCell.Value) Then
                If xHStr = Left(xCell.Value, xHStrLen) Then
                    xCell.Characters(1, xHStrLen).Font.ColorIndex = 3
                End If
            End If
        Next
    Application.ScreenUpdating = True
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună ziua,
a me servirebbe evidenziare tutti i numeri (comprensivi di due decimali) da -10,00 a 0 in rosso e da 0 a +10,00 in verde. come posso fare pentru a nu adăuga în mod individual fiecare dată fără adăugarea manuală a tuturor?

mulțumesc mult
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut Ciao,
Numerele dvs. sunt situate în celule diferite dintr-un interval? Dacă da, puteți crea două reguli de formatare condiționată (între -10 și 0, între 0 și 10) pentru a evidenția aceste numere. Dacă nu, puteți încărca o captură de ecran a datelor dvs.?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Foarte frumos, merci! Mă întreb dacă cineva știe cum să funcționeze pe Mac? Mulţumesc mult
Evaluat 5 din 5
Acest comentariu a fost redus la minimum de moderatorul de pe site
cum ar putea fi modificat scenariul pentru a face următoarele?

măriți fontul cu 1 dimensiune și
evidențiați mai multe cuvinte cu o singură rulare a scriptului?

Mersi!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună t.taln,

Dacă doriți să măriți dimensiunea fontului cu 1 și să evidențiați mai multe cuvinte în același timp, vă rugăm să adăugați următoarea linie după linia "xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.ColorIndex = 3" în codul VBA.
notițe: Trebuie să cunoașteți în prealabil dimensiunea fontului curent al celulei selectate și apoi să introduceți un număr cu o dimensiune mai mare decât cuvântul original. Numărul 12 din rândul de mai jos este dimensiunea fontului pe care o voi atribui cuvintelor care se potrivesc. Și dimensiunea originală a fontului cuvântului este 11.
xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.Size = 12
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc că este foarte util. Cum pot evidenția un cuvânt în loc de culoarea fontului?

Salutari.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc. asta a fost cu adevărat de ajutor. Poate cineva să spună cum să coloreze textul în loc să-l evidențieze?

În ceea ce priveşte
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Shaik Faiaz hamad,

Excel nu permite colorarea unei părți a unei celule. Îmi pare rău că nu te pot ajuta cu această problemă.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bonjour Cristal,
Merci pentru ce cod. Este posibil adaptorul pentru a pune în evidență mai multe cuvinte „Apple,Rose,Vert,Merci”
mulțumesc
Acest comentariu a fost redus la minimum de moderatorul de pe site
Buna Cous,

Următorul cod VBA vă poate ajuta. După rularea codului, veți primi o casetă de dialog. Introduceți cuvintele pe care doriți să le evidențiați și separați-le prin virgulă.
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/highlight.png
Sub HighlightStrings()
'Updated by Extendoffice 20230130
    Dim xHStr As String, xStrTmp As String
    Dim xHStrLen As Long, xCount As Long, I As Long
    Dim xCell As Range
    Dim xArr
    Dim xArr2
    On Error Resume Next
    xHStr = Application.InputBox("What is the string to highlight:", "KuTools For Excel", , , , , , 2)
    If TypeName(xHStr) <> "String" Then Exit Sub
    Application.ScreenUpdating = False
    
    xArr2 = Split(xHStr, ",")
    For j = 0 To UBound(xArr2)
        xHStr = xArr2(j)
    
        xHStrLen = Len(xHStr)
        For Each xCell In Selection
            xArr = Split(xCell.Value, xHStr)
            xCount = UBound(xArr)
            If xCount > 0 Then
                xStrTmp = ""
                For I = 0 To xCount - 1
                    xStrTmp = xStrTmp & xArr(I)
                    xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.ColorIndex = 3
                    xStrTmp = xStrTmp & xHStr
                Next
            End If
        Next
    Next
    
    Application.ScreenUpdating = True
End Sub
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL