Sut i amlygu testun / geiriau dyblyg yng nghell Excel

  • Rhannu Hwn
Michael Brown

Mae'r tiwtorial yn dangos sut i amlygu geiriau dyblyg neu linynnau testun o fewn cell gan ddefnyddio VBA.

Mae Fformatio Amodol Excel yn ei gwneud hi'n bosibl amlygu copïau dyblyg ym mhob ffordd bosibl y gallwch chi feddwl amdano: gyda neu heb ddigwyddiadau 1af, mewn colofn sengl neu golofnau lluosog, celloedd dyblyg olynol, a rhesi cyfan yn seiliedig ar werthoedd union yr un fath mewn colofn allweddol. Ond, fel arfer, mae "ond". Mae rheolau fformatio amodol yn gweithio ar lefel cell tra efallai y byddwch am amlygu testun dyblyg yn hytrach na chelloedd cyfan. Dim ond gyda macros y gellir gwneud hyn. Hyd yn oed os nad oes gennych unrhyw brofiad gyda VBA, peidiwch â rhuthro i gau'r dudalen hon. Yma, fe welwch enghreifftiau cod parod i'w defnyddio a'r cyfarwyddiadau manwl ar sut i'w defnyddio yn eich taflenni gwaith.

    Amlygwch eiriau dyblyg mewn cell gan anwybyddu cas testun

    Mae'r enghraifft hon yn dangos sut i liwio geiriau dyblyg neu linynnau testun o fewn cell mewn lliw ffont coch fel y dangosir yn y ddelwedd isod. Sylwch fod llythrennau bach a mawr yn cael eu trin fel yr un nodau. Er enghraifft, ystyrir bod oren , OREN ac Orange yr un gair.

    Y mae cod macro fel a ganlyn:

    Is-Highlight CyhoeddusDupesCaseInsensitive() Dim Cell Fel Amrediad Dim Amffinydd Fel Amffinydd Llinynnol = InputBox( "Rhowch y amffinydd sy'n gwahanu gwerthoedd mewn cell", " Amffinydd " , " , " ) Ar gyfer Pob Cell MewnCais.Selection Call HighlightDupeWordsInCell(Cell, Amffinydd, Ffug ) Diwedd Nesaf Is Is HighlightDupeWordsInCell(Cell Fel Ystod, Amffinydd Dewisol Fel Llinyn = " " , Achos Dewisol Sensitif Fel Boole = Gwir ) Dim testun Fel Llinynnol Dim geiriau() Fel Llinynnol Dim gair Fel Llinyn Dim wordIndex, matchCount, positionInText Fel Cyfanrif Os CaseSensitive Yna geiriau = Hollti(Cell.Value, Amffinydd) Geiriau eraill = Hollti(LCase(Cell.Value), Amffinydd) Diwedd Os Ar gyfer wordIndex = LBound (geiriau) I UBound (geiriau) - 1 gair = geiriau(wordIndex) matchCount = 0 Ar gyfer nextWordIndex = wordIndex + 1 I UBound (geiriau) Os word = words(nextWordIndex) Yna matchCount = matchCount + 1 Diwedd Os Nesaf nextWordIndex Os yw matchCount > 0 Yna testun = "" Ar gyfer Mynegai = LBound (geiriau) I UBound (geiriau) text = testun & geiriau(Mynegai) Os (geiriau(Mynegai) = gair) Yna Cell.Characters(Len(testun) - Len(gair) + 1, Len(word)).Font.Color = vbRed Diwedd Os testun = testun & Amffinydd Diwedd Nesaf Os WordIndex Diwedd Nesaf Is

    Amlygwch destun dyblyg mewn achos cell-sensitif

    Yn y rhan fwyaf o sefyllfaoedd, rydym yn tueddu i anwybyddu'r llythrennau bach wrth weithio gyda chofnodion testun yn Excel. O dan rai amgylchiadau, fodd bynnag, mae'r achos testun yn bwysig. Er enghraifft, os ydych yn delio â rhifau adnabod, cyfrineiriau, neu gofnodion eraill o'r math hwnnw, mae'r llinynnau fel 1-AA , 1-aa a 1-Aa nad ydynt yn ddyblyg ac ni ddylid eu hamlygu:

    Yn yr achos hwn,defnyddiwch y fersiwn canlynol o'r cod:

    Is-Highlight CyhoeddusDupesCaseSensitive() Dim Cell Fel Amrediad Dim Amffinydd Fel Amffinydd Llinynnol = MewnbwnBox( "Rhowch y amffinydd sy'n gwahanu gwerthoedd mewn cell", " Amffinydd " , " , " ) Ar gyfer Pob Un Cell Mewn Cais.Selection Call HighlightDupeWordsInCell(Cell, Amffinydd, Gwir ) Diwedd Nesaf Is Is HighlightDupeWordsInCell(Cell Fel Ystod, Amffinydd Dewisol Fel Llinyn = " " , Achos Dewisol Sensitif Fel Boole = Gwir ) Testun Dim Fel Llinynnol Dim geiriau() Fel Llinynnol Dim gair Fel Llinyn Dim wordIndex, matchCount, positionInText Fel Cyfanrif Os CaseSensitive Yna geiriau = Hollti(Cell.Value, Amffinydd) Geiriau eraill = Hollti(LCase(Cell.Value), Amffinydd) Diwedd Os Am wordIndex = LBound (geiriau) I UBound ( geiriau) - 1 gair = geiriau(wordIndex) matchCount = 0 Ar gyfer nextWordIndex = wordIndex + 1 I UBound (geiriau) Os word = words(nextWordIndex) Yna matchCount = matchCount + 1 Diwedd Os Nesaf nextWordIndex Os yw'n cyfateb > 0 Yna testun = "" Ar gyfer Mynegai = LBound (geiriau) I UBound (geiriau) text = testun & geiriau(Mynegai) Os (geiriau(Mynegai) = gair) Yna Cell.Characters(Len(testun) - Len(gair) + 1, Len(word)).Font.Color = vbRed Diwedd Os testun = testun & Amffinydd Diwedd Nesaf Os gair NesafIndex End Is

    Sut i ddefnyddio'r macros i amlygu geiriau dyblyg yn Excel

    Os ydych chi'n ddechreuwr wrth ddefnyddio VBA, bydd y cyfarwyddiadau cam wrth gam isod yn eich arwain yn gyfforddus drwyddo . Gall defnyddwyr profiadoldewiswch y ddolen lawrlwytho a sgipiwch y gweddill :)

    Ychwanegwch y cod i'ch llyfr gwaith

    Rydych chi'n dechrau gyda mewnosod cod y macro yn eich llyfr gwaith Excel. Dyma sut:

    1. Agorwch y llyfr gwaith lle rydych chi am amlygu dupes.
    2. Pwyswch Alt + F11 i agor y Golygydd Visual Basic.
    3. Ar y cwarel chwith, de-gliciwch Y Llyfr Gwaith Hwn a dewis Mewnosod > Modiwl o'r ddewislen cyd-destun.
    4. Gludwch y cod yn ffenestr y Cod.
    5. I gadw'r macro i'w ddefnyddio yn y dyfodol, gwnewch yn siŵr eich bod yn cadw'ch llyfr gwaith fel ffeil .xlsm macro-alluogi.

    Fel arall, gallwch lawrlwytho ein llyfr gwaith sampl a rhedeg y macro oddi yno. Mae'r gweithlyfr enghreifftiol yn cynnwys y macros canlynol:

    • HighlightDupesCaseInsensitive - mae arlliwiau'n dyblygu o fewn cell gan anwybyddu'r cas llythrennau.
    • HighlightDupesCaseSensitive - uchafbwyntiau dupes mewn cell o ystyried y cas llythrennau.

    Am ragor o wybodaeth, gweler Sut i fewnosod cod VBA yn Excel.

    Rhedwch y macro

    Gyda'r cod Wedi'i ychwanegu at eich llyfr gwaith eich hun neu ein ffeil sampl wedi'i lawrlwytho a'i hagor, rhedwch y macro fel hyn:

    1. Yn eich taflen waith, dewiswch y celloedd lle'r ydych am amlygu testun dyblyg. Gall hwn fod yn un amrediad neu'n ystodau lluosog nad ydynt yn gyfagos.
    2. Pwyswch Alt + F8 .
    3. Dewiswch y macro o ddiddordeb a chliciwch Rhedeg .

    4. Bydd y macro yn gofyn i chi nodi'r amffinyddsy'n gwahanu'r gwerthoedd yn y celloedd a ddewiswyd. Bydd yr amffinydd rhagosodedig (coma a bwlch yn ein hachos ni) yn ymddangos yn y blwch mewnbwn yn awtomatig. Yn dibynnu ar eich anghenion, gallwch adael y amffinydd rhagosodedig neu deipio un gwahanol, ac yna clicio Iawn. bydd celloedd wedi'u lliwio mewn lliw coch (neu ba bynnag liw ffont sydd wedi'i osod yn eich cod).

      Awgrym. I dynnu copïau dyblyg yn gyflym o fewn cell, gallwch ddefnyddio Remove Duplicate Substrings, un o lawer o offer arbed amser sydd wedi'u cynnwys yn ein Ultimate Suite.

      Sut i addasu'r cod ar gyfer eich anghenion

      Gyda'r nodiadau defnydd hyn a'r wybodaeth sylfaenol iawn am VBA (neu ddilyn y cyfarwyddiadau isod yn agos), gallwch yn hawdd addasu'r codau yn union yn unol â'ch anghenion.

      Rhowch ar yr un modiwl

      Fel y gwelwch, mae'r ddau facro ( HighlightDupesCaseSensitive a HighlightDupesCaseInsensitive ) yn galw'r ffwythiant HighlightDupeWordsInCell . Dim ond yn y 3ydd paramedr (CaseSensitive) sy'n cael ei drosglwyddo i'r ffwythiant dan sylw y mae'r gwahaniaeth rhwng y ddau facro uchod.

      Ar gyfer chwiliad achos-sensitif, mae wedi'i osod i WIR:

      Call HighlightDupeWordsInCell(Cell, Delimiter, True)

      Ar gyfer chwiliad cas-ansensitif, mae wedi ei osod i ANGHYWIR:

      Call HighlightDupeWordsInCell(Cell, Delimiter, False)

      Er mwyn i'r macros weithio, rhaid gosod cod y ffwythiant HighlightDupeWordsInCell ar yr un modiwl a'rmacros.

      Delimiter

      Wrth redeg, bydd y macro yn gofyn i chi nodi'r amffinydd sy'n gwahanu geiriau/llinynnau yn y celloedd a ddewiswyd. Yr amffinydd rhagosodedig yw coma a bwlch (", ") ac mae wedi'i ragosod yn y MewnbwnBox:

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

      Yn eich cod, rydych yn rhydd i ddefnyddio unrhyw nod(au) eraill fel y amffinydd rhagddiffiniedig.

      Lliw

      Yn ddiofyn, mae arlliwiau ffwythiant HighlightDupeWordsInCell yn dyblygu lliw ffont coch. Diffinnir y lliw yn y llinell hon:

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

      Yma, mae vbRed yn fath o gysonyn lliw VBA. I arddangos dupes mewn lliw gwahanol, gallwch ddisodli vbRed gyda chysonyn arall fel vbGreen, vbYellow, vbBlue, ac ati. sut i amlygu geiriau dyblyg mewn celloedd Excel. Diolch i chi am ddarllen a gobeithio y gwelwn ni chi ar ein blog wythnos nesaf!

      Ar gael i'w lawrlwytho

      Enghreifftiau cod i amlygu copïau dyblyg mewn cell (ffeil .xlsm)

      Ultimate Swît fersiwn 14 diwrnod cwbl weithredol (ffeil .exe)

    Mae Michael Brown yn frwd dros dechnoleg ymroddedig ac yn frwd dros symleiddio prosesau cymhleth gan ddefnyddio offer meddalwedd. Gyda mwy na degawd o brofiad yn y diwydiant technoleg, mae wedi hogi ei sgiliau yn Microsoft Excel ac Outlook, yn ogystal â Google Sheets a Docs. Mae blog Michael yn ymroddedig i rannu ei wybodaeth a'i arbenigedd ag eraill, gan ddarparu awgrymiadau a thiwtorialau hawdd eu dilyn ar gyfer gwella cynhyrchiant ac effeithlonrwydd. P'un a ydych chi'n weithiwr proffesiynol profiadol neu'n ddechreuwr, mae blog Michael yn cynnig mewnwelediadau gwerthfawr a chyngor ymarferol ar gyfer cael y gorau o'r offer meddalwedd hanfodol hyn.