Hvernig á að auðkenna tvítekinn texta / orð í Excel klefi

  • Deildu Þessu
Michael Brown

Kennslan sýnir hvernig á að auðkenna tvítekin orð eða textastrengi innan reits með því að nota VBA.

Excel skilyrt snið gerir þér kleift að auðkenna tvítekningar á allan mögulegan hátt sem þér dettur í hug: með eða án 1. tilviks, í einum dálki eða mörgum dálkum, samfelldum tvíteknum hólfum og heilum línum byggðar á eins gildum í lykildálki. En eins og venjulega er "en". Skilyrt sniðsreglur virka á reitstigi á meðan þú gætir viljað auðkenna tvítekinn texta frekar en heilar frumur. Þetta er aðeins hægt að gera með fjölvi. Jafnvel ef þú hefur enga reynslu af VBA, vinsamlegast ekki flýta þér að loka þessari síðu. Hér finnur þú dæmi um kóða sem eru tilbúin til notkunar og nákvæmar leiðbeiningar um hvernig á að nota þau í vinnublöðunum þínum.

    Auðkenndu tvítekin orð í reit án þess að hunsa stóra og stóra texta

    Þetta dæmi sýnir hvernig á að skyggja tvítekin orð eða textastrengi innan reits í rauðum leturlit eins og sýnt er á myndinni hér að neðan. Vinsamlegast athugaðu að litið er á lágstafi og hástafi sem sömu stafi. Til dæmis eru appelsínugult , appelsínugult og appelsínugult talið vera sama orðið.

    The Kóði makrósins er sem hér segir:

    Public Sub HighlightDupesCaseInsensitive() Dim Cell As Range Dim Delimiter As String Delimiter = InputBox( "Sláðu inn afmörkunina sem aðskilur gildi í reit" , "Delimiter" , ", " ) Fyrir hverja klefi íApplication.Selection Call HighlightDupeWordsInCell(Cell, Delimiter, False ) Next End Sub Sub HighlightDupeWordsInCell(Cell As Range, Optional Delimiter As String = " " , Valfrjálst CaseSensitive As Boolean = True ) Dim text As String Dim words() As String Dim Word As String Dimm wordIndex, matchCount, positionInText As Heiltala If CaseSensitive Then words = Split(Cell.Value, Delimiter) Önnur orð = Split(LCase(Cell.Value), Delimiter) End If For wordIndex = LBound (orð) Til UBound (orð) - 1 orð = words(wordIndex) matchCount = 0 Fyrir nextWordIndex = wordIndex + 1 Til UBound (orð) Ef word = words(nextWordIndex) Þá matchCount = matchCount + 1 End If Next nextWordIndex If matchCount > 0 Þá texti = "" Fyrir Index = LBound (orð) Til UBound (orð) texti = texti & words(Index) If (words(Index) = word) Then Cell.Characters(Len(text) - Len(word) + 1, Len(word)).Font.Color = vbRed End If text = text & Afmörk Next End If Next wordIndex End Sub

    Auðkenndu tvítekinn texta í reit sem er há- og hástafanæmur

    Í flestum tilfellum höfum við tilhneigingu til að hunsa stafina þegar unnið er með textafærslur í Excel. Undir vissum kringumstæðum skiptir textamálið þó máli. Til dæmis, ef þú ert að fást við auðkenni, lykilorð eða aðrar skrár af því tagi, eru strengirnir eins og 1-AA , 1-aa og 1-Aa eru ekki afrit og ætti ekki að vera auðkennd:

    Í þessu tilviki,notaðu eftirfarandi útgáfu af kóðanum:

    Public Sub HighlightDupesCaseSensitive() Dim Cell As Range Dim Delimiter As String Delimiter = InputBox( "Sláðu inn afmörkunina sem aðskilur gildi í reit" , "Delimiter" , ", " ) Fyrir hvert Cell In Application.Selection Kalla HighlightDupeWordsInCell(Cell, Delimiter, True ) Next End Sub Sub HighlightDupeWordsInCell(Cell As Range, Optional Delimiter As String = " " , Valfrjálst CaseSensitive As Boolean = True ) Dim text As String Dim words() As String Dimm word As String Dim wordIndex, matchCount, positionInText As Heiltala If CaseSensitive Then words = Split(Cell.Value, Delimiter) Önnur orð = Split(LCase(Cell.Value), Delimiter) End If For wordIndex = LBound (orð) Til UBound ( orð) - 1 orð = words(wordIndex) matchCount = 0 Fyrir nextWordIndex = wordIndex + 1 Til UBound (orð) If word = words(nextWordIndex) Þá matchCount = matchCount + 1 End If Next nextWordIndex If matchCount > 0 Þá texti = "" Fyrir Index = LBound (orð) Til UBound (orð) texti = texti & words(Index) If (words(Index) = word) Then Cell.Characters(Len(text) - Len(word) + 1, Len(word)).Font.Color = vbRed End If text = text & Delimiter Next End If Next wordIndex End Sub

    Hvernig á að nota fjölva til að auðkenna tvítekin orð í Excel

    Ef þú ert byrjandi í að nota VBA, munu skref-fyrir-skref leiðbeiningarnar hér að neðan leiða þig í gegnum . Reyndir notendur getaveldu bara niðurhalshlekkinn og slepptu því sem eftir er :)

    Bættu kóðanum við vinnubókina þína

    Þú byrjar á því að setja inn macro kóðann í Excel vinnubókina þína. Svona er það:

    1. Opnaðu vinnubókina þar sem þú vilt auðkenna dupes.
    2. Ýttu á Alt + F11 til að opna Visual Basic Editor.
    3. Á vinstri rúðunni, hægrismelltu á ThisWorkbook og veldu Insert > Module í samhengisvalmyndinni.
    4. Límdu kóðann í kóðagluggann.
    5. Til að halda makróinu til notkunar í framtíðinni, vertu viss um að vista vinnubókina þína sem .xlsm skrá sem er virkjuð fyrir makró.

    Að öðrum kosti geturðu hlaðið niður sýnishornsvinnubókinni okkar og keyrt makróið þaðan. Sýnisvinnubókin inniheldur eftirfarandi fjölva:

    • HighlightDupesCaseInsensitive - skyggir tvítekningar innan hólfs og hunsar stafina.
    • HighlightDupesCaseSensitive - hápunktur dupes í reit miðað við hástafi.

    Nánari upplýsingar er að finna í Hvernig á að setja inn VBA kóða í Excel.

    Keyra macro

    Með kóðanum bætt við eigin vinnubók eða sýnishornsskrána okkar sem er hlaðið niður og opnað, keyrðu fjölva á þennan hátt:

    1. Í vinnublaðinu þínu skaltu velja reitina þar sem þú vilt auðkenna tvítekinn texta. Þetta getur verið eitt svið eða mörg svið sem ekki eru aðliggjandi.
    2. Ýttu á Alt + F8 .
    3. Veldu fjölva sem þú vilt og smelltu á Run .

    4. Fróið mun biðja þig um að tilgreina afmörkuninasem aðskilur gildin í völdum hólfum. Forstillta afmörkunin (komma og bil í okkar tilfelli) mun birtast sjálfkrafa í inntaksreitnum. Það fer eftir þörfum þínum, þú getur skilið eftir sjálfgefna afmörkunina eða slegið inn annan og smellt svo á Í lagi.

    Að augnabliki síðar eru allir afritaðir strengir í völdum frumur verða skyggðar með rauðum lit (eða hvaða leturlitur sem er stilltur í kóðanum þínum).

    Ábending. Til að fjarlægja tvítekningar á fljótlegan hátt innan reits geturðu notað Remove Duplicate Substrings, eitt af mörgum tímasparandi verkfærum sem fylgja Ultimate Suite okkar.

    Hvernig á að stilla kóðann að þínum þörfum

    Með þessum notkunarskýringum og grunnþekkingu á VBA (eða bara með því að fylgja leiðbeiningunum hér að neðan) geturðu auðveldlega breytt kóðunum nákvæmlega í samræmi við þarfir þínar.

    Settu á sömu einingu

    Eins og þú gætir tekið eftir, kalla bæði fjölva ( HighlightDupesCaseSensitive og HighlightDupesCaseInsensitive ) HighlightDupeWordsInCell aðgerðina. Munurinn á fjölvunum tveimur hér að ofan er aðeins í 3. færibreytunni (CaseSensitive) sem er send til umræddrar aðgerðar.

    Fyrir hástafaviðkvæma leit er hún stillt á TRUE:

    Call HighlightDupeWordsInCell(Cell, Delimiter, True)

    Fyrir leit sem er ónæm fyrir hástöfum er það stillt á FALSE:

    Call HighlightDupeWordsInCell(Cell, Delimiter, False)

    Til að fjölva virki verður að setja kóðann fyrir HighlightDupeWordsInCell aðgerðina á sama eining ogfjölvi.

    Afmörkun

    Þegar hann er keyrður mun fjölva biðja þig um að tilgreina afmörkunina sem aðskilur orð/strengi í völdum hólfum. Sjálfgefin afmörkun er kommu og bil (", ") og það er forstillt í inntaksboxinu:

    Delimiter = InputBox("Specify the delimiter that separates values in a cell", "Delimiter", ", ")

    Í kóðanum þínum er þér frjálst að nota hvaða aðra stafi(a) sem er. sem fyrirfram skilgreinda afmörkun.

    Litur

    Sjálfgefið er að HighlightDupeWordsInCell aðgerðin tónar afrit í rauðum leturlit. Liturinn er skilgreindur í þessari línu:

    Cell.Characters(positionInText, Len(word)).Font.Color = vbRed

    Hér er vbRed eins konar VBA litafasti. Til að birta dups í öðrum lit geturðu skipt út vbRed fyrir annan fasta eins og vbGreen, vbYellow, vbBlue, osfrv. T listann yfir stutta litafasta má finna hér.

    Það er hvernig á að auðkenna tvítekin orð í Excel frumum. Ég þakka þér fyrir lesturinn og vonast til að sjá þig á blogginu okkar í næstu viku!

    Laust niðurhal

    Kóðadæmi til að auðkenna tvítekningar í reit (.xlsm skrá)

    Ultimate Suite 14 daga fullvirk útgáfa (.exe skrá)

    Michael Brown er hollur tækniáhugamaður með ástríðu fyrir því að einfalda flókna ferla með hugbúnaðarverkfærum. Með meira en áratug af reynslu í tækniiðnaðinum hefur hann aukið færni sína í Microsoft Excel og Outlook, sem og Google Sheets og Docs. Blogg Michael er tileinkað því að deila þekkingu sinni og sérfræðiþekkingu með öðrum, veita auðveld ráð og leiðbeiningar til að bæta framleiðni og skilvirkni. Hvort sem þú ert vanur fagmaður eða byrjandi, þá býður blogg Michaels upp á dýrmæta innsýn og hagnýt ráð til að fá sem mest út úr þessum nauðsynlegu hugbúnaðarverkfærum.