Mar a bheir thu air falbh dùblaidhean taobh a-staigh cealla ann an Excel

  • Roinn Seo
Michael Brown

Tha trì dòighean ann airson dùblaidhean a lorg agus a sguabadh às taobh a-staigh cealla ann an Excel. Dìreach tagh am fear as fheàrr dhut.

Nuair a tha e co-cheangailte ri toirt air falbh luachan no sreathan dùblaichte, tha Microsoft Excel a’ tabhann taghadh de dhiofar roghainnean. Ach nuair a thig e gu bhith a’ toirt air falbh an aon theacsa taobh a-staigh cealla sònraichte, tha Excel a’ toirt seachad… dad. Gun innealan, gun fheartan, gun fhoirmlean, gun dad. An cuir e stad oirnn bho bhith a’ coileanadh ar n-amas? Ann an cùis sam bith. Mura h-eil an gnìomh a dh’ fheumas sinn aig Excel, rachamaid a’ sgrìobhadh am fear againn fhìn :)

    Mar a bheir thu air falbh faclan eile ann an cealla Excel

    Duilgheadas : Tha na h-aon fhaclan no teudan teacsa agad ann an cealla agus bu mhath leat an dàrna ath-aithris agus a h-uile ath-aithris às deidh sin a thoirt air falbh.

    Fuasgladh : gnìomh gnàthaichte air a mhìneachadh leis a’ chleachdaiche no macro VBA.

    Gnìomh air a mhìneachadh leis a’ chleachdaiche gus dùblaidhean a thoirt air falbh taobh a-staigh cealla

    Gus cuir às do theacsa dùblaichte ann an cealla, faodaidh tu an gnìomh a leanas a tha air a mhìneachadh leis a’ chleachdaiche (UDF) a chleachdadh , ainmichte RemoveDupeWords :

    Gnìomh RemoveDupeWords(text As String , Optional delimiter As String = " " ) Mar fhaclair String Dim Mar Object Dim x, part Set dictionary = CreateObject ( "Scripting.Dictionary") faclair .CompareMode = vbTextCompare Airson gach x Ann an Split(text, delimiter) part = Trim(x) Ma tha e na phàirt "" Agus chan e faclair.Exists(part) An uairsin faclair.Cuir pàirt ris, Gun dad Crìochnaich Ma thèid an ath rud Ma tha faclair.Count > 0 An uairsin RemoveDupeWords = Thig còmhla(dictionary.keys,delimiter) Else RemoveDupeWords = "" Crìoch ma shuidhicheas tu dictionary = Gun ghnìomh crìochnachaidh

    Mar a chuireas tu còd a’ ghnìomh san leabhar-obrach agad

    Gus an còd gu h-àrd a chur ris an Excel agad, seo na dh’ fheumas tu a dhèanamh:

    1. Brùth Alt + F11 gus an Deasaiche Lèirsinneach Bunaiteach fhosgladh.
    2. Air a’ phana chlì, cliog deas air An Leabhar Obrach seo agus tagh Insert > Modal .
    3. Cuir a-steach an còd gu h-àrd san uinneag Code .

    Airson tuilleadh fiosrachaidh, faic Mar a chuireas tu VBA a-steach còd ann an Excel.

    Co-chàradh gnìomh RemoveDupeWords

    Tha an co-chàradh a leanas aig a’ ghnìomh ùr againn airson teacsa dùblaichte a thoirt air falbh ann an cealla:

    RemoveDupeWords(text, [delimiter])

    Càite :

    • Teacs (riatanach) - sreang no cealla às a bheil thu airson teacsa a sguabadh às a-rithist.
    • Delimiter (roghainneil) - an tèarmann a tha an teacsa ath-aithris air a sgaradh leis. Ma thèid fhàgail air falbh, bithear a' cleachdadh beàrn airson an t-iomairear.

    Chan eil an gnìomh mothachail air cùis , a' ciallachadh gu bheilear a' dèiligeadh ri litrichean beaga is mòra mar na h-aon charactaran.

    Mar a chleachdas tu an gnìomh RemoveDupeWords

    Aon uair 's gu bheil còd a' ghnìomh air a chur ris an leabhar-obrach agad, 's urrainn dhut a chleachdadh anns na foirmlean agad san aon dòigh 's a chleachdas tu gnìomhan in-ghabhail Excel.

    Dìreach tòisich a’ taipeadh ainm a’ ghnìomh às deidh an t-soidhne co-ionann, agus nochdaidh e san fhoirmle intellisense. Dèan briogadh dùbailte air a’ ghnìomh, agus bidh e agadair a chuir a-steach ann an cealla. Mìnich na h-argamaidean, sgrìobh am brannd dùnaidh, brùth Enter , agus tha am foirmle agad crìochnaichte. cuir a-steach am foirmle gu h-ìosal ann am B2, agus an uairsin slaod sìos e tro na h-uimhir de cheallan a dh’ fheumar:

    =RemoveDupeWords(A2, ", ")

    Mar thoradh air an sin, bidh liosta de dh’ fhaclan no fo-thalagan sònraichte agad air an sgaradh le coma agus fànais :

    Nam b’ fheàrr leat liosta dealaichte le cromag, na cleachd dìreach cromag airson an t-iomraicheadair :

    =RemoveDupeWords(A2, ",")

    Ma tha spás eadar an dàta tùsail agad, bu chòir " " an dàrna argamaid a bhith air neo fhàgail air falbh:

    =RemoveDupeWords(A2)

    Coltach ri gnìomh Excel sam bith eile, bidh an UDF againn ag ath-àireamhachadh gu fèin-obrachail nuair a dh’ atharraicheas an dàta tùsail, agus mar sin bidh na co-dhùnaidhean agad ùraichte an-còmhnaidh.

    VBA macro gus teacsa dùblaichte a dhubhadh às bho iomadh cealla aig an aon àm

    Ma tha thu airson teacsa ath-aithris a thoirt air falbh bho iomadh cealla ann an aon turas, faodaidh tu fios a chuir chun ghnìomh RemoveDupeWords fro m taobh a-staigh macro. Anns a 'chùis seo, tha còd cruaidh air an delimiter, agus feumaidh tu còd a' macro ùrachadh a h-uile uair a dh'atharraicheas an delimiter. Air neo, faodaidh tu beagan eadar-dhealachaidhean còd a sgrìobhadh airson na crìochan as cumanta, can, àite, cromag, no cromag agus àite, agus thoir ainmean brìoghmhor dha na macros agad, me. RemoveDupesDelimSpace .

    Tha còd a’ mhacra mar a leanas:

    Fo-thalamh poblach RemoveDupeWords2() Dim cealla mar an raon airson gach cealla ann an Application.Selection cell.Value = RemoveDupeWords(cell.Value, ",") àite. Gus comharraiche eile a chleachdadh, cuir caractar(ean) eile an àite ", " san loidhne chòd seo:

    cell.Value = RemoveDupeWords(cell.Value, ", ")

    An aire. Gus am bi am macro ag obair, feumar a chòd agus còd gnìomh RemoveDupeWords a chuir air an aon mhodal.

    Mar a chleachdas tu am macro

    Cuir a-steach còd a’ macro san leabhar-obrach agad fhèin no fosgail an leabhar-obrach sampall againn leis a’ chòd, agus an uairsin dèan na ceumannan a leanas gus am macro a ruith.

    1. Tagh raon de cheallan às a bheil thu airson teacsa ath-aithris a thoirt air falbh.
    2. Brùth Alt + F8 gus am bogsa deasbaid Macro fhosgladh.
    3. Ann an liosta nam macros, tagh RemoveDupeWords2 .
    4. Briog air Ruith .

    Airson tuilleadh fiosrachaidh, faic Mar a nì thu ruith macro ann an Excel.

    Thoir an aire. Leis nach urrainn gnìomh macro a chur dheth , tha sinn a’ moladh gu làidir do leabhar-obrach a shàbhaladh dìreach mus cleachd thu am macro. San dòigh seo, ma thèid rudeigin ceàrr, faodaidh tu dìreach an leabhar-obrach a dhùnadh agus ath-fhosgladh, agus bidh thu air ais gu dìreach far an robh thu. No faodaidh tu dìreach leth-bhreac a dhèanamh den duilleag (ean) obrach air am faodadh am macro buaidh a thoirt.

    Mar a bheir thu air falbh caractaran dùblaichte ann an cealla

    Duilgheadas : Tha iomadh tachartas den aon charactar agad ann an cealla, agus gach fearcha bu chòir ach aon tachartas de charactar sònraichte a bhith ann an cealla.

    Fuasgladh : gnìomh gnàthaichte air a mhìneachadh leis a’ chleachdaiche no macro VBA.

    Gnìomh air a mhìneachadh leis a’ chleachdaiche gus caractaran eile a sguabadh às

    Gus caractaran dùblaichte a thoirt air falbh taobh a-staigh cealla a’ cumail dìreach a’ chiad tachartasan, faodaidh tu an gnìomh a leanas a tha air a mhìneachadh leis a’ chleachdaiche a chleachdadh, leis an ainm RemoveDupeChars :

    Gnìomh RemoveDupeChars(text As String) Mar String Dim Dictionary Mar Object Dim char As String Dim Toradh Mar String Set dictionary = CreateObject ("Scripting.Dictionary") Airson i = 1 Gu Len(text) char = Meadhan(teacsa, i, 1 ) If Not dictionary.Exists(char) An uairsin dictionary.Add char, Nothing result = toradh & char End If Next RemoveDupeChars = toradh Set dictionary = Gun ghnìomh crìochnachaidh

    Gus còd na gnìomh a chuir a-steach don leabhar-obrach agad, tha na ceumannan dìreach mar a bha san eisimpleir roimhe seo. 0>Tha co-chàradh a’ ghnìomh gnàthaichte seo cho sìmplidh ‘s a dh’ fhaodadh e a bhith - chan eil a dhìth ach aon argamaid:

    RemoveDupeChars(text)

    Far a bheil text na shreang neo cealla às a bheil thu ag iarraidh gus caractaran dùblaichte a thoirt air falbh.

    Tha an gnìomh mothachail air cùis agus a’ làimhseachadh litrichean beaga is mòra mar charactaran eadar-dhealaichte.

    Mar a chleachdas tu gnìomh RemoveDupeChars

    Tha a h-uile dad a thuirt sinn mu chleachdadh RemoveDupeWords fìor airson RemoveDupeChars . Mar sin, gun a dholcus ann an teòiridh, rachamaid gu dìreach gu eisimpleir.

    Gus caractaran dùblaichte a sguabadh às a’ cholbh A a’ tòiseachadh ann an A2, cuir a-steach am foirmle seo ann am B2 agus dèan lethbhreac sìos dheth:

    =RemoveDupeChars(A2)

    Mar a chì thu san dealbh gu h-ìosal, tha an gnìomh gu soirbheachail a’ làimhseachadh diofar sheòrsaichean charactaran a’ toirt a-steach litrichean, àireamhan agus samhlaidhean sònraichte:

    Tip. Ma tha na caractaran agad air an sgaradh bho chèile le delimiter leithid àite, cromag no tàthan, cleachd an gnìomh RemoveDupeWords mar a chithear san eisimpleir roimhe.

    VBA macro gus na h-aon charactaran a thoirt air falbh bho chill

    Mar RemoveDupeWords , faodar an gnìomh RemoveDupeChars a ghairm cuideachd bho thaobh a-staigh macro:

    Poblach Fo-RemoveDupeChars2() Dim cealla mar an raon airson gach cealla ann an Application.Selection cell.Value = RemoveDupeChars(cell.Value) An ath cheann Fo

    Leis nach cleachd an UDF seo delimiter sam bith, cha bhith agad ri atharraichean sam bith a dhèanamh ann an an còd.

    Thoir an aire. Gus am bi am macro ag obair, feumar a chòd agus còd RemoveDupeChars UDF a chuir air an aon mhodal ann an deasaiche VBA.

    Mar a chleachdas tu am macro

    A’ gabhail ris gu bheil thu air còd a’ macro a chuir a-steach san leabhar-obrach agad mu thràth no air an leabhar-obrach sampall againn anns a bheil an còd fhosgladh, cuir am macro air bhog san dòigh seo.

    1. Tagh raon de cheallan às a bheil thu airson caractaran eile a thoirt air falbh.
    2. Brùth Alt + F8 gus an còmhradh Macro fhosgladhbogsa.
    3. Anns an liosta macros, tagh RemoveDupeChars2 .
    4. Briog air Ruith .

    Thoir air falbh fo-thalamhan dùblaichte le Ultimate Suite

    Aig toiseach an oideachaidh seo, chaidh iomradh a thoirt air nach eil feart in-thogail aig Microsoft Excel gus dùblaidhean a thoirt air falbh am broinn cealla. Ach dèan an t-sreath deireannach againn!

    Lorgaidh tu e sa chlàr-taice Duplicate Remover air an taba Ablebits Data , san Dedupe buidheann. Mura nochd an roghainn Thoir air falbh Duplicate Substrings san Excel agad, dèan cinnteach gu bheil an tionndadh as ùire de Ultimate Suite air a chuir a-steach (faodar deuchainn an-asgaidh a luchdachadh a-nuas an seo).

    Gus faclan no teacsa eile a thoirt air falbh bho iomadh cealla ann an 5 diogan (diog gach ceum :), seo na dh'fheumas tu a dhèanamh:

    1. Tagh an dàta tùsail agad agus cuir air bhog an
    1>Thoir air falbh inneal dùblaichte fo-thalamh .
  • Sònraich an limiter .
  • Sònraich am bu chòir dhut dèiligeadh ri delimiters leantainneach mar aon (bunaiteach).
  • Tagh am bu chòir dhut rannsachadh a tha mothachail air cùis no a tha mothachail air cùis .
  • Briog air Thoir air falbh .
  • Dèanta! Gun fhìdhlearachd le VBA no foirmlean, dìreach toraidhean luath is ceart.

    Gus barrachd ionnsachadh mun tuilleadan uabhasach seo, tadhail air an duilleag-dhachaigh aige. No nas fheàrr buileach, luchdaich sìos dreach measaidh gu h-ìosal agus feuch ris!

    Sin mar a bheir thu air falbh teacsa dùblaichte ann an cealla.Tha mi a' toirt taing dhut airson an leughadh agus an dòchas ur faicinn air a' bhlog againn an ath sheachdain!

    Luchdaich a-nuas ri fhaighinn

    Eisempleirean gus dùblaidhean a thoirt air falbh sa chill (faidhle .xlsm)

    Ultimate Suite 14 -day tionndadh làn-ghnìomhach (faidhle .exe)

    Tha Mìcheal Brown dèidheil air teicneòlas sònraichte le dìoghras airson pròiseasan iom-fhillte a dhèanamh nas sìmplidhe a’ cleachdadh innealan bathar-bog. Le còrr air deich bliadhna de eòlas anns a’ ghnìomhachas teignigeach, tha e air urram a thoirt dha na sgilean aige ann am Microsoft Excel agus Outlook, a bharrachd air Google Sheets agus Docs. Tha blog Mhìcheil gu sònraichte airson a chuid eòlais agus eòlais a cho-roinn le daoine eile, a’ toirt seachad molaidhean agus clasaichean-oideachaidh a tha furasta a leantainn airson cinneasachd agus èifeachdas a leasachadh. Ge bith co-dhiù a tha thu nad neach-proifeiseanta eòlach no nad neach-tòiseachaidh, tha blog Mhìcheal a 'tabhann lèirsinn luachmhor agus comhairle phractaigeach airson a bhith a' faighinn a 'chuid as fheàrr às na h-innealan bathar-bog riatanach sin.