Clàr-innse
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ìochnachaidhMar 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:
- Brùth Alt + F11 gus an Deasaiche Lèirsinneach Bunaiteach fhosgladh.
- Air a’ phana chlì, cliog deas air An Leabhar Obrach seo agus tagh Insert > Modal .
- 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.
- Tagh raon de cheallan às a bheil thu airson teacsa ath-aithris a thoirt air falbh.
- Brùth Alt + F8 gus am bogsa deasbaid Macro fhosgladh.
- Ann an liosta nam macros, tagh RemoveDupeWords2 .
- 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ìochnachaidhGus 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 FoLeis 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.
- Tagh raon de cheallan às a bheil thu airson caractaran eile a thoirt air falbh.
- Brùth Alt + F8 gus an còmhradh Macro fhosgladhbogsa.
- Anns an liosta macros, tagh RemoveDupeChars2 .
- 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:
- Tagh an dàta tùsail agad agus cuir air bhog an
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)