Ինչպես ընդգծել կրկնօրինակ տեքստը / բառերը Excel բջիջում

  • Կիսվել Սա
Michael Brown

Ուսուցումը ցույց է տալիս, թե ինչպես կարելի է ընդգծել կրկնօրինակ բառերը կամ տեքստային տողերը բջիջում VBA-ի միջոցով:

Excel-ի պայմանական ֆորմատավորումը հնարավորություն է տալիս ընդգծել կրկնօրինակները ամեն կերպ, ինչի մասին կարող եք մտածել. 1-ին երևույթներով կամ առանց, մեկ սյունակում կամ մի քանի սյունակներում, հաջորդական կրկնվող բջիջներում և առանցքային սյունակի նույն արժեքների վրա հիմնված ամբողջ տողերում: Բայց, ինչպես միշտ, կա «բայց». Պայմանական ձևաչափման կանոնները գործում են բջջային մակարդակում, մինչդեռ դուք կարող եք ընդգծել կրկնօրինակ տեքստը, այլ ոչ թե ամբողջ բջիջները: Դա կարելի է անել միայն մակրոներով: Նույնիսկ եթե VBA-ի հետ կապված որևէ փորձ չունեք, խնդրում ենք մի շտապեք փակել այս էջը: Այստեղ դուք կգտնեք օգտագործման համար պատրաստ կոդի օրինակներ և մանրամասն հրահանգներ, թե ինչպես դրանք օգտագործել ձեր աշխատաթերթերում:

    Նշեք կրկնօրինակ բառերը բջիջում՝ անտեսելով տեքստային տառերը

    Այս օրինակը ցույց է տալիս, թե ինչպես կարելի է ստվերել կրկնօրինակ բառերը կամ տեքստային տողերը բջիջում կարմիր տառատեսակի գույնով, ինչպես ցույց է տրված ստորև նկարում: Խնդրում ենք նկատի ունենալ, որ փոքրատառ և մեծատառ տառերը համարվում են նույն նիշերը: Օրինակ, նարնջագույն , ORANGE և Orange համարվում են նույն բառը:

    The մակրոյի կոդը հետևյալն է.

    Public Sub HighlightDupesCaseInsensitive() Dim Cell As Range Dim Delimiter As String Delimiter = InputBox( "Enter the delimiter, որը բաժանում է արժեքները բջիջում" , "Delimiter", ", " ) For Every Cell InApplication.Selection Call HighlightDupeWordsInCell(Cell, Delimiter, False) Հաջորդ վերջը Sub Sub HighlightDupeWordsInCell(Cell As Range, Optional Delimiter As String = " " , Ընտրովի CaseSensitive As Boolean = True) Dim տեքստը որպես String Dim բառեր (որպես) String Dim wordIndex, matchCount, positionInText As Integer If CaseSensitive then words = Split(Cell.Value, Delimiter) Else words = Split(LCase(Cell.Value), Delimiter) End If For wordIndex = LBound (բառեր) To UBound (բառեր) - 1 բառ = բառեր (wordIndex) matchCount = 0 NextWordIndex = wordIndex + 1 To UBound (բառեր) If word = words(nextWordIndex) Ապա matchCount = matchCount + 1 End If Next nextWordIndex If matchCount > 0 Այնուհետեւ տեքստ = "" For Index = LBound (բառեր) To UBound (բառեր) text = text & բառեր(Ինդեքս) Եթե (բառեր(Ինդեքս) = բառ) Ապա Cell.Characters(Len(text) - Len(բառ) + 1, Len(բառ)).Font.Color = vbRed End If text = text & Սահմանազատող Next End If Next wordIndex End Sub

    Նշեք կրկնօրինակ տեքստը վանդակում, որը զգայուն է մեծատառերի նկատմամբ

    Շատ իրավիճակներում մենք հակված ենք անտեսել տառերի մեծատառերը Excel-ում տեքստային մուտքերի հետ աշխատելիս: Որոշակի հանգամանքներում, սակայն, տեքստային դեպքը նշանակություն ունի: Օրինակ, եթե գործ ունեք ID-ների, գաղտնաբառերի կամ նման այլ գրառումների հետ, ապա տողերը, ինչպիսիք են 1-AA , 1-aa և 1-Aa կրկնօրինակներ չեն և չպետք է ընդգծվեն.

    Այս դեպքում,օգտագործեք կոդի հետևյալ տարբերակը՝

    Public Sub HighlightDupesCaseSensitive() Dim Cell As Range Dim Delimiter As String Delimiter = InputBox( "Enter the delimiter, որը բաժանում է արժեքները բջիջում" , "Delimiter", ", " ) Յուրաքանչյուրի համար Cell In Application.Selection Call HighlightDupeWordsInCell(Cell, Delimiter, True) Հաջորդ վերջը Sub HighlightDupeWordsInCell(Cell As Range, Optional Delimiter As String = " " , Ընտրովի CaseSensitive As Boolean = True ) Dim տեքստը որպես String Dim բառը որպես տող Dim wordIndex, matchCount, positionInText որպես ամբողջ թիվ If CaseSensitive Այնուհետեւ բառեր = Split(Cell.Value, Delimiter) Else words = Split(LCase(Cell.Value), Delimiter) End If For wordIndex = LBound (բառեր) To UBound ( բառեր) - 1 բառ = բառեր (wordIndex) matchCount = 0 NextWordIndex = wordIndex + 1 To UBound (բառեր) If word = words(nextWordIndex) Ապա matchCount = matchCount + 1 End If Next nextWordIndex If matchCount > 0 Այնուհետեւ տեքստ = "" For Index = LBound (բառեր) To UBound (բառեր) text = text & բառեր(Ինդեքս) Եթե (բառեր(Ինդեքս) = բառ) Հետո Cell.Characters(Len(text) - Len(բառ) + 1, Len(բառ)).Font.Color = vbRed End If text = text & Սահմանազատող Next End If Next wordIndex End Sub

    Ինչպես օգտագործել մակրոները Excel-ում կրկնվող բառերն ընդգծելու համար

    Եթե դուք սկսնակ եք VBA-ի օգտագործման մեջ, ստորև բերված քայլ առ քայլ հրահանգները ձեզ հարմարավետ կուղեկցեն . Փորձառու օգտվողները կարող ենպարզապես ընտրեք ներբեռնման հղումը և բաց թողեք մնացածը :)

    Ավելացրեք կոդը ձեր աշխատանքային գրքում

    Դուք սկսում եք մակրոյի կոդը ձեր Excel-ի աշխատանքային գրքում տեղադրելով: Ահա թե ինչպես.

    1. Բացեք աշխատանքային գրքույկը, որտեղ ցանկանում եք ընդգծել կեղծիքները:
    2. Սեղմեք Alt + F11՝ Visual Basic խմբագրիչը բացելու համար:
    3. Ձախ վահանակում, աջ սեղմեք This Workbook և ընտրեք Տեղադրել > Module համատեքստի ընտրացանկից:
    4. Տեղադրեք կոդը կոդի պատուհանում:
    5. Մակրոն հետագա օգտագործման համար պահելու համար, համոզվեք, որ ձեր աշխատանքային գիրքը պահեք որպես մակրո-միացված .xlsm ֆայլ:

    Այլընտրանքով, կարող եք ներբեռնել մեր աշխատանքային գրքույկի նմուշը և այնտեղից գործարկել մակրո: Աշխատանքային գրքույկի նմուշը պարունակում է հետևյալ մակրոները.

    • HighlightDupesCaseInsensitive - երանգավորում է վանդակի կրկնօրինակները` անտեսելով տառերի մեծատառը:
    • HighlightDupesCaseSensitive - ընդգծում է խաբում է բջիջում՝ հաշվի առնելով տառերի տառերը:

    Լրացուցիչ տեղեկությունների համար տե՛ս Ինչպես տեղադրել VBA կոդը Excel-ում:

    Գործարկել մակրո

    Կոդով ավելացված է ձեր սեփական աշխատանքային գրքում կամ ներբեռնված և բացված մեր նմուշի ֆայլը, գործարկեք մակրոն հետևյալ կերպ.

    1. Ձեր աշխատաթերթում ընտրեք այն բջիջները, որտեղ ցանկանում եք ընդգծել կրկնօրինակ տեքստը: Սա կարող է լինել մեկ տիրույթ կամ մի քանի ոչ հարակից միջակայք:
    2. Սեղմեք Alt + F8 :
    3. Ընտրեք հետաքրքրող մակրո և սեղմեք Գործարկել :

    4. Մակրոն կխնդրի ձեզ նշել սահմանազատիչըորը առանձնացնում է ընտրված բջիջների արժեքները: Նախադրված սահմանազատիչը (մեր դեպքում ստորակետ և բացատ) ավտոմատ կերպով կհայտնվի մուտքագրման վանդակում: Կախված ձեր կարիքներից, դուք կարող եք թողնել լռելյայն սահմանազատիչը կամ մուտքագրել մեկ ուրիշը, այնուհետև սեղմել OK:

    Մի պահ անց բոլոր կրկնօրինակ տողերը ընտրվածում բջիջները կստվերվեն կարմիր գույնով (կամ ցանկացած տառատեսակի գույն, որը սահմանված է ձեր կոդի մեջ):

    Խորհուրդ. Բջջի ներսում կրկնօրինակները արագ հեռացնելու համար կարող եք օգտագործել Remove Duplicate Substrings-ը, որը մեր Ultimate Suite-ում ներառված բազմաթիվ անգամներ խնայող գործիքներից մեկն է:

    Ինչպես հարմարեցնել կոդը ձեր կարիքների համար

    <. 0>Օգտագործման այս նշումներով և VBA-ի շատ տարրական գիտելիքներով (կամ պարզապես ուշադիր հետևելով ստորև նշված հրահանգներին), կարող եք հեշտությամբ փոփոխել ծածկագրերը ձեր կարիքներին համապատասխան:

    Տեղադրեք նույն մոդուլում

    Ինչպես կարող եք նկատել, երկու մակրոներն էլ ( HighlightDupesCaseSensitive և HighlightDupesCaseInsensitive ) կանչում են HighlightDupeWordsInCell ֆունկցիան: Վերոնշյալ երկու մակրոների միջև տարբերությունը միայն նշված գործառույթին փոխանցված 3-րդ պարամետրում է (CaseSensitive):

    Փորձերի զգայուն որոնման համար այն սահմանվում է TRUE:

    Call HighlightDupeWordsInCell(Cell, Delimiter, True)

    Տառապանծերի համար անզգույշ որոնման համար այն սահմանվել է FALSE:

    Call HighlightDupeWordsInCell(Cell, Delimiter, False)

    Որպեսզի մակրոներն աշխատեն, HighlightDupeWordsInCell ֆունկցիայի կոդը պետք է տեղադրվի: նույն մոդուլը, ինչմակրոներ:

    Delimiter

    Երբ գործարկվում է, մակրոն կխնդրի ձեզ նշել այն սահմանազատիչը, որը բաժանում է բառերը/տողերը ընտրված բջիջներում: Լռելյայն սահմանազատիչը ստորակետ է և բացատ (», «) և այն նախադրված է InputBox-ում.

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

    Ձեր կոդում դուք ազատ եք օգտագործել ցանկացած այլ նիշ(ներ) որպես նախապես սահմանված սահմանազատիչ:

    Գույնը

    Լռելյայնորեն, HighlightDupeWordsInCell ֆունկցիան կրկնօրինակվում է կարմիր տառատեսակի գույնով: Գույնը սահմանվում է այս տողում.

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

    Այստեղ vbRed-ը մի տեսակ VBA գունային հաստատուն է: Այլ գույներով կրկնօրինակները ցուցադրելու համար դուք կարող եք փոխարինել vbRed-ը մեկ այլ հաստատունով, ինչպիսիք են vbGreen, vbYellow, vbBlue և այլն: T աջակցվող գունային հաստատունների ցանկը կարող եք գտնել այստեղ:

    Դա է ինչպես ընդգծել կրկնօրինակ բառերը Excel բջիջներում: Շնորհակալ եմ կարդալու համար և հուսով եմ, որ հաջորդ շաբաթ կտեսնենք ձեզ մեր բլոգում:

    Հասանելի ներբեռնումներ

    Կոդերի օրինակներ՝ բջիջում կրկնօրինակները ընդգծելու համար (.xlsm ֆայլ)

    Վերջնական Suite 14-օրյա լիարժեք ֆունկցիոնալ տարբերակ (.exe ֆայլ)

    Մայքլ Բրաունը նվիրված տեխնոլոգիայի էնտուզիաստ է, որը ձգտում է պարզեցնել բարդ գործընթացները՝ օգտագործելով ծրագրային գործիքները: Տեխնոլոգիական ոլորտում ավելի քան մեկ տասնամյակ փորձ ունենալով՝ նա կատարելագործել է իր հմտությունները Microsoft Excel-ում և Outlook-ում, ինչպես նաև Google Sheets-ում և Docs-ում: Մայքլի բլոգը նվիրված է իր գիտելիքներն ու փորձառությունը ուրիշների հետ կիսելուն՝ տրամադրելով հեշտ օգտագործվող խորհուրդներ և ձեռնարկներ՝ արտադրողականությունն ու արդյունավետությունը բարձրացնելու համար: Անկախ նրանից, թե դուք փորձառու մասնագետ եք, թե սկսնակ, Մայքլի բլոգը առաջարկում է արժեքավոր պատկերացումներ և գործնական խորհուրդներ՝ առավելագույն օգուտ քաղելու այս կարևոր ծրագրային գործիքներից: