Efnisyfirlit
Það eru þrjár leiðir til að finna og eyða afritum innan reits í Excel. Veldu bara þann sem hentar þér best.
Þegar það snýst um að fjarlægja tvítekin gildi eða raðir, býður Microsoft Excel upp á fjölda mismunandi valkosta. En þegar kemur að því að fjarlægja sams konar texta innan tiltekins reits, gefur Excel ... ekkert. Engin verkfæri, engir eiginleikar, engar formúlur, ekkert ekkert. Mun það koma í veg fyrir að við náum markmiði okkar? Í engu tilviki. Ef Excel er ekki með aðgerðina sem við þurfum, þá skulum við skrifa okkar eigin :)
Hvernig á að fjarlægja endurtekin orð í Excel klefi
Vandamál : Þú ert með sömu orð eða textastrengi í reit og vilt fjarlægja seinni og allar síðari endurtekningar.
Lausn : sérsniðin notendaskilgreind aðgerð eða VBA fjölvi.
Notandaskilgreint fall til að fjarlægja tvítekningar innan reits
Til að útrýma tvíteknum texta í reit geturðu notað eftirfarandi notendaskilgreinda aðgerð (UDF) , sem heitir RemoveDupeWords :
Fall RemoveDupeWords(text As String , Optional delimiter As String = " " ) As String Dim dictionary As Object Dim x, part Set dictionary = CreateObject ( "Scripting.Dictionary") orðabók .CompareMode = vbTextCompare Fyrir hvert x In Split(texti, afmörkun) hluti = Trim(x) Ef hluti "" Og Ekki orðabók.Er til(hluti) Síðan orðabók.Bæta við hluta, Ekkert End If Next If dictionary.Count > 0 Þá RemoveDupeWords = Join(dictionary.keys,delimiter) Else RemoveDupeWords = "" End If Set dictionary = Nothing End FunctionHvernig á að setja kóða fallsins inn í vinnubókina þína
Til að bæta ofangreindum kóða við Excel þarftu að gera þetta:
- Ýttu á Alt + F11 til að opna Visual Basic ritilinn.
- Á vinstri glugganum skaltu hægrismella á ThisWorkbook og velja Insert > Eining .
- Límdu ofangreindan kóða í gluggann Kóði .
Nánari upplýsingar er að finna í Hvernig á að setja inn VBA kóða í Excel.
RemoveDupeWords setningafræði aðgerða
Nýlega stofnað aðgerð okkar til að fjarlægja tvítekinn texta í reit hefur eftirfarandi setningafræði:
RemoveDupeWords(texti, [afmörkun])Hvar :
- Texti (áskilið) - strengur eða hólf sem þú vilt eyða endurteknum texta úr.
- Afmörkun (valfrjálst) - afmörkunin sem endurtekinn texti er aðskilinn með. Ef því er sleppt er bil notað fyrir afmörkunina.
Funkið er ekki hástafaviðkvæmt , sem þýðir að litið er á lágstafi og hástafi sem sömu stafi.
Hvernig á að nota aðgerðina RemoveDupeWords
Þegar kóða aðgerðarinnar hefur verið bætt við vinnubókina þína geturðu notað hann í formúlurnar þínar á sama hátt og þú notar innbyggðu aðgerðirnar í Excel.
Byrjaðu bara að slá inn nafn fallsins á eftir jöfnunarmerkinu og það mun birtast í formúlunni intellisense. Tvísmelltu á aðgerðina og þú munt hafa hanasett í klefa. Skilgreindu rökin, sláðu inn lokasvigann, ýttu á Enter og formúlunni þinni er lokið.
Til dæmis, til að eyða tvíteknum orðum aðskilin með kommu og bili frá A2, sláðu inn formúluna hér að neðan í B2, og dragðu hana síðan niður í gegnum eins margar frumur og þú þarft:
=RemoveDupeWords(A2, ", ")
Þar af leiðandi muntu hafa lista yfir einstök orð eða undirstrengi aðskilin með komma og bil :
Ef þú vilt frekar fá lista sem er aðskilinn með kommum, notaðu þá aðeins kommu fyrir afmörkunina :
=RemoveDupeWords(A2, ",")
Ef upprunagögnin þín eru aðskilin með bili ætti seinni röksemdin að vera " " eða sleppt:
=RemoveDupeWords(A2)
Eins og hver önnur Excel aðgerð, endurreikna UDF okkar sjálfkrafa þegar upprunagögnin breytast, þannig að niðurstöður þínar verða alltaf uppfærðar.
VBA fjölvi til að eyða tvíteknum texta úr mörgum hólfum í einu
Ef þú ert að leita að endurteknum texta úr mörgum hólfum í einu, þá geturðu kallað á RemoveDupeWords aðgerðina frá m innan fjölvi. Í þessu tilviki er afmörkunin harðkóða, og þú verður að uppfæra kóðann fyrir fjölva í hvert skipti sem afmörkunin breytist. Að öðrum kosti geturðu skrifað nokkrar kóðaafbrigði fyrir algengustu afmörkunina, td bil, kommu eða kommu og bil, og gefið fjölvunum þínum þýðingarmikil nöfn, t.d. RemoveDupesDelimSpace .
Kóði fjölvisins er sem hér segir:
Public Sub RemoveDupeWords2() Dim cell As Range For Every Cell In Application.Selection cell.Value = RemoveDupeWords(cell.Value, ", " ) Next End SubÍ ofangreindum kóða er afmörkunin komma og pláss . Til að nota annað afmörkun skaltu skipta út ", " fyrir annan staf í þessari kóðalínu:
cell.Value = RemoveDupeWords(cell.Value, ", ")
Athugið. Til að fjölvi virki verður að setja kóða þess og kóða RemoveDupeWords fallsins á sömu einingu.
Hvernig á að nota makróið
Settu makrókóðann inn í þína eigin vinnubók eða opnaðu sýnishornsvinnubókina okkar með kóðanum og framkvæmdu síðan eftirfarandi skref til að keyra makróið.
- Veldu svið af hólfum sem þú vilt fjarlægja endurtekinn texta úr.
- Ýttu á Alt + F8 til að opna Macro valmyndina.
- Í listanum yfir fjölva, veldu RemoveDupeWords2 .
- Smelltu á Run .
Nánari upplýsingar er að finna í Hvernig á að keyra fjölvi í Excel.
Athugið. Þar sem aðgerð makrós er ekki hægt að afturkalla , mælum við eindregið með því að vista vinnubókina þína rétt áður en makróið er notað. Á þennan hátt, ef eitthvað fer úrskeiðis, geturðu einfaldlega lokað og opnað vinnubókina aftur og þú kemur aftur nákvæmlega þar sem þú varst. Eða þú getur bara búið til afrit af vinnublaðinu sem gæti orðið fyrir áhrifum af fjölvi.
Hvernig á að fjarlægja tvítekna stafi í reit
Vandamál : Þú hefur mörg tilvik af sama staf í reit, á meðan hverhólf ætti aðeins að innihalda eitt tilvik af tilteknum staf.
Lausn : sérsniðið notendaskilgreint fall eða VBA fjölvi.
Notandaskilgreind aðgerð til að eyða endurteknum stöfum
Til að fjarlægja tvítekna stafi innan reits með því að halda aðeins fyrstu tilvikunum geturðu notað eftirfarandi notendaskilgreinda aðgerð, sem heitir RemoveDupeChars :
Fall RemoveDupeChars(text As String ) As String Dim dictionary As Object Dim char As String Dim result As String Set dictionary = CreateObject ( "Scripting.Dictionary") Fyrir i = 1 To Len(text) char = Mid(text, i, 1 ) If Not dictionary.Exists(char) Then dictionary.Add char, Nothing result = result & char End If Next RemoveDupeChars = result Set dictionary = Nothing End FunctionTil að setja kóða fallsins inn í vinnubókina þína eru skrefin nákvæmlega þau sömu og í fyrra dæmi.
RemoveDupeChars falla setningafræði
Setjafræði þessarar sérsniðnu falls er eins einföld og hún getur mögulega verið - aðeins ein rök er krafist:
RemoveDupeChars(texti)Þar sem texti er strengur eða hólf sem þú vilt úr til að fjarlægja tvítekna stafi.
Aðgerðin er hástafanæm og meðhöndlar lágstafi og hástafi sem mismunandi stafi.
Hvernig á að nota RemoveDupeChars aðgerðina
Allt sem við sögðum um notkun RemoveDupeWords er satt fyrir RemoveDupeChars . Svo, án þess að faraof mikið í kenningunni, við skulum fara beint að dæmi.
Til að eyða tvíteknum stöfum úr dálki A sem byrjar á A2 skaltu slá inn þessa formúlu í B2 og afrita hana niður:
=RemoveDupeChars(A2)
Eins og þú sérð á myndinni hér að neðan, þá meðhöndlar aðgerðin mismunandi stafategundir, þar á meðal bókstafi, tölustafi og sérstök tákn:
Ábending. Ef persónurnar þínar eru aðskildar frá hvor öðrum með einhverju afmarki eins og bili, kommu eða bandstrik, þá skaltu nota RemoveDupeWords aðgerðina eins og sýnt er í fyrra dæmi.
VBA fjölvi til að fjarlægja sömu stafi úr reit
Eins og RemoveDupeWords er einnig hægt að kalla á RemoveDupeChars aðgerðina innan úr fjölvi:
Public Sub RemoveDupeChars2() Dim cell As Range For Every Cell In Application.Selection cell.Value = RemoveDupeChars(cell.Value) Next End SubÞar sem þessi UDF notar ekki neina afmörkun, þarftu ekki að gera neinar breytingar í kóðann.
Athugið. Til að fjölvi virki verður að setja kóða þess og kóða RemoveDupeChars UDF á sömu einingu í VBA ritlinum.
Hvernig á að nota makróið
Að því gefnu að þú hafir þegar sett makrókóðann í vinnubókina þína eða opnað sýnishornsvinnubókina okkar sem inniheldur kóðann skaltu ræsa makróið á þennan hátt.
- Veldu svið af hólfum sem þú vilt fjarlægja endurtekna stafi úr.
- Ýttu á Alt + F8 til að opna Macro gluggannkassi.
- Í listanum yfir fjölva skaltu velja RemoveDupeChars2 .
- Smelltu á Run .
Fjarlægðu tvítekna undirstrengi með Ultimate Suite
Í upphafi þessa kennsluefnis var minnst á að Microsoft Excel er ekki með innbyggðan eiginleika til að fjarlægja afrit innan reits. En Ultimate Suite okkar gerir það!
Þú getur fundið það í Duplicate Remover fellivalmyndinni á Ablebits Data flipanum, í Dedupe hópur. Ef valmöguleikinn Fjarlægja tvítekna undirstrengi birtist ekki í Excel skaltu ganga úr skugga um að þú hafir nýjustu útgáfuna af Ultimate Suite uppsetta (hægt er að hlaða niður ókeypis prufuáskrift hér).
Til að fjarlægja endurtekin orð eða texta úr mörgum hólfum á 5 sekúndum (sekúndu í hverju skrefi :), þetta er það sem þú þarft að gera:
- Veldu upprunagögnin þín og ræstu Fjarlægja tvítekna undirstrengi tól.
- Tilgreindu afmarka .
- Skilgreindu hvort meðhöndla eigi samfellda afmörkun sem einn (sjálfgefið).
- Veldu hvort þú eigir að framkvæma hástafanæxla eða hástafanæmandi leit.
- Smelltu á Fjarlægja .
Lokið! Ekkert að fikta í VBA eða formúlum, bara skjótar og nákvæmar niðurstöður.
Til að læra meira um þessa frábæru viðbót, vinsamlegast farðu á heimasíðu hennar. Eða jafnvel betra, halaðu niður matsútgáfu hér að neðan og prófaðu!
Svona á að fjarlægja tvítekinn texta í reit.Ég þakka þér fyrir að lesa og vonast til að sjá þig á blogginu okkar í næstu viku!
Laust niðurhal
Dæmi til að fjarlægja afrit í reit (.xlsm skrá)
Ultimate Suite 14 -day fullkomlega virk útgáfa (.exe skrá)