فهرست
په Excel کې په حجره کې د نقلونو موندلو او حذف کولو لپاره درې لارې شتون لري. یوازې هغه غوره کړئ چې ستاسو لپاره غوره کار کوي.
کله چې دا د نقل ارزښتونو یا قطارونو لرې کولو اندیښنه لري ، مایکروسافټ ایکسل د مختلف انتخابونو لړۍ وړاندې کوي. مګر کله چې دا په ورکړل شوي حجره کې د ورته متن لرې کولو خبره راځي ، Excel چمتو کوي ... هیڅ شی. نه وسایل، نه ځانګړتیاوې، نه فورمول، نه هیڅ شی. ایا دا به زموږ هدف ته د رسیدو مخه ونیسي؟ په هیڅ صورت کې. که اکسل هغه فنکشن ونه لري چې موږ ورته اړتیا لرو، راځئ چې خپل ځان ولیکئ :)
څنګه په Excel سیل کې تکرار شوي ټکي لرې کړو
ستونزه : تاسو په یوه حجره کې ورته کلمې یا د متن تارونه لرئ او غواړئ چې دویم او ټول وروستي تکرارونه لرې کړئ.
حل : یو دودیز کارونکي تعریف شوی فنکشن یا VBA میکرو.
په حجره کې د نقلونو لرې کولو لپاره د کارونکي لخوا ټاکل شوی فنکشن
په حجره کې د نقل متن له مینځه وړو لپاره، تاسو کولی شئ لاندې کارونکي تعریف شوي فنکشن (UDF) وکاروئ , په نوم RemoveDupeWords :
فنکشن RemoveDupeWords(متن د سټرینګ په توګه، اختیاري ډیلیمیټر د String په توګه = "") د سټینګ ډیم لغت په توګه د آبجیکٹ Dim x په توګه، برخه د لغت ترتیب = CreateObject ("Scripting. Dictionary") لغت .CompareMode = vbText په سپلیټ کې د هر x لپاره پرتله کړئ (متن، ډیلیمیټر) برخه = ټرم (x) که برخه "" نه وي او لغت نه وي. موجود (برخه) بیا لغت. برخه اضافه کړئ، هیڅ پای نه وي که بل که لغت. شمېره > 0 بیا دDupeWords لرې کړئ = یوځای شئ(dictionary.keys,delimiter) Else RemoveDupeWords = "" End If Set Dictionary = Nothing End Functionڅنګه کولاي شو د فنکشن کوډ په خپل کاري کتاب کې داخل کړو
د پورته کوډ په خپل Excel کې اضافه کولو لپاره، دا هغه څه دي چې تاسو ورته اړتیا لرئ:
- د Visual Basic Editor د پرانستلو لپاره Alt + F11 فشار ورکړئ.
- په چپ اړخ کې، ښي کلیک وکړئ دا کاري کتاب او غوره کړئ داخل کړئ > موډل .
- پورتنۍ کوډ په کوډ کړکۍ کې پیسټ کړئ.
د نورو معلوماتو لپاره، مهرباني وکړئ وګورئ چې څنګه د VBA داخل کړئ کوډ :
- متن (اړین) - یو تار یا حجره چې تاسو غواړئ تکرار شوي متن حذف کړئ. - هغه حد چې تکرار شوی متن یې جلا شوی. که پریښودل شي، د حد لپاره ځای کارول کیږي.
فعالیت د قضیې سره حساس نه دی ، پدې معنی چې کوچني او لوی حروف د ورته حروفونو په توګه چلند کیږي.
د RemoveDupeWords فنکشن څنګه وکاروئ
کله چې د فنکشن کوډ ستاسو په کاري کتاب کې اضافه شي، تاسو کولی شئ دا په خپل فورمول کې په هماغه ډول وکاروئ لکه څنګه چې تاسو د ایکسل جوړ شوي فنکشنونه کاروئ.
یوازې د مساوي نښې وروسته د فنکشن نوم ټایپ کول پیل کړئ ، او دا به د intellisense فارمول کې څرګند شي. په فنکشن دوه ځله کلیک وکړئ، او تاسو به یې ولرئپه حجره کې داخل شوی. دلیلونه تعریف کړئ، د تړلو قوس ټایپ کړئ، Enter فشار ورکړئ، او ستاسو فورمول بشپړ شو.
د مثال په توګه، د کوما او A2 څخه د ځای په واسطه جلا شوي نقل شوي ټکي حذف کول، لاندې فورمول په B2 کې دننه کړئ، او بیا یې د اړتیا په صورت کې د ډیری حجرو له لارې ښکته کړئ:
=RemoveDupeWords(A2, ", ")
د پایلې په توګه، تاسو به د ځانګړو کلمو یا فرعي سټینګونو لیست ولرئ چې د کوما او ځای :
که تاسو غواړئ د کوما لخوا جلا شوی لیست ترلاسه کړئ نو بیا د ډیلیمیټر لپاره یوازې کوما وکاروئ :
=RemoveDupeWords(A2, ",")
که ستاسو د سرچینې ډاټا د ځای لخوا جلا شوې وي، دویم دلیل باید " " یا پریښودل شي:
=RemoveDupeWords(A2)
د نورو Excel فنکشن په څیر، زموږ UDF په اتوماتيک ډول حساب کوي کله چې د سرچینې ډاټا بدل شي، نو ستاسو پایلې به تل تازه وي.
VBA میکرو د څو حجرو څخه په یوځل کې د نقل متن حذف کولو لپاره
که تاسو په یوځل کې د ډیری حجرو څخه تکرار متن لرې کولو په لټه کې یاست ، نو تاسو کولی شئ د RemoveDupeWords فنکشن ته زنګ ووهئ m په میکرو کې دننه. په دې حالت کې، ډیلیمیټر هارډ کوډ شوی، او تاسو باید د میکرو کوډ تازه کړئ هرکله چې ډیلیمیټر بدل شي. په بدیل سره، تاسو کولی شئ د ډیری عام محدودیتونو لپاره د کوډ یو څو تغیرات ولیکئ، ووایئ، یو ځای، کوما، یا کوما او ځای، او خپل میکرو ته معنی لرونکي نومونه ورکړئ، د بیلګې په توګه. RemoveDupesDelimSpace .
د میکرو کوډ په لاندې ډول دی:
عامه فرعي RemoveDupeWords2() Dim cell په Application.Selection cell.Value = RemoveDupeWords(cell.Value, ", ") د هرې حجرې لپاره د سلسلې په توګه ډیم سیل. ځای. د یو بل ډیلیمیټر کارولو لپاره، "، " د دې کوډ په کرښه کې د بل کرکټر سره بدل کړئ: cell.Value = RemoveDupeWords(cell.Value, ", ")
یادونه. د دې لپاره چې میکرو کار وکړي، د دې کوډ او د RemoveDupeWords فنکشن کوډ باید په ورته ماډل کې کیښودل شي.
د میکرو کارولو څرنګوالی
د میکرو کوډ په خپل کاري کتاب کې دننه کړئ یا زموږ د نمونې کاري کتاب د کوډ سره خلاص کړئ او بیا د میکرو چلولو لپاره لاندې مرحلې ترسره کړئ.
- <14 د هغو حجرو سلسله وټاکئ چې تاسو غواړئ تکرار شوي متن لرې کړئ.
- د Macro ډیالوګ بکس خلاصولو لپاره Alt + F8 فشار ورکړئ.
- د میکرو لیست کې، وټاکئ RemoveDupeWords2 .
- چل کړئ کلیک وکړئ.
د نورو جزیاتو لپاره، مهرباني وکړئ وګورئ چې څنګه په Excel کې میکرو چلول.
یادونه. ځکه چې د میکرو عمل نه شي ختمولی ، موږ په کلکه سپارښتنه کوو چې د میکرو کارولو دمخه خپل کاري کتاب خوندي کړئ. په دې توګه، که یو څه غلط شي، تاسو کولی شئ په ساده ډول د کار کتاب وتړئ او بیا پرانیزئ، او تاسو به بیرته هغه ځای ته ورشئ چې تاسو یې یاست. یا تاسو کولی شئ یوازې د کاري پاڼې یوه کاپي جوړه کړئ چې ممکن د میکرو لخوا اغیزمن شوي وي.
په حجره کې د نقل شوي حروفونو لرې کولو څرنګوالی
ستونزه : تاسو په حجره کې د ورته کرکټر ډیری پیښې لرئ، پداسې حال کې چې هر یوحجره باید یوازې د ورکړل شوي کریکټر یوه پیښه ولري.
حل : یو دودیز کارونکي ټاکل شوی فنکشن یا VBA میکرو.
<9 د تکراري حروفونو د حذف کولو لپاره د کارونکي لخوا ټاکل شوي فنکشن
په حجره کې د نقل شوي حروفونو لرې کولو لپاره چې یوازې لومړی پیښې ساتي، تاسو کولی شئ لاندې د کارونکي لخوا ټاکل شوي فنکشن وکاروئ، چې نوم یې RemoveDupeChars :
فنکشن لرې کولDupeChars(متن د سټینګ په توګه) د سټینګ ډیم لغت په توګه د آبجیټ ډیم چار په توګه د سټینګ ډیم پایلې په توګه د سټینګ سیټ لغت = CreateObject ("Scripting. Dictionary") د i = 1 لپاره لین(متن) چار = منځنی(متن، i، 1) لپاره ) که لغت نه وي. موجود (چار) بیا لغت. چار اضافه کړئ، هیڅ نتیجه نه ده = پایله & char End که راتلونکی RemoveDupeChars = پایله وټاکئ لغت = هیڅ نه پای فنکشنخپل کاري کتاب کې د فنکشن کوډ داخلولو لپاره، مرحلې بالکل د تیر مثال په څیر دي.
RemoveDupeChars فنکشن ترکیب
د دې دودیز فنکشن ترکیب دومره ساده دی څومره چې ممکن وي - یوازې یو دلیل ته اړتیا ده:
RemoveDupeChars(text)چیرته چې متن یو تار یا حجره ده چې تاسو یې غواړئ د نقل شوي حروفونو د لرې کولو لپاره.
فعالیت کیس حساس دی او کوچني او لوی توري د مختلف حروفونو په توګه چلند کوي.
د RemoveDupeChars فنکشن څنګه وکاروئ
هرڅه چې موږ د RemoveDupeWords کارولو په اړه وویل د RemoveDupeChars لپاره ریښتیا دي. نو، پرته له دې چې لاړ شيپه تیوري کې خورا ډیر ، راځئ چې مستقیم مثال ته راشو.
د A2 کالم څخه د A2 په پیل کې د نقل شوي حروف حذف کولو لپاره ، دا فورمول په B2 کې دننه کړئ او کاپي یې کړئ:
=RemoveDupeChars(A2)
لکه څنګه چې تاسو په لاندې عکس کې لیدلی شئ، دا فنکشن په بریالیتوب سره د حروفونو، عددونو او ځانګړي سمبولونو په شمول د کرکټر مختلف ډولونه اداره کوي:
25>
لارښوونه. که ستاسو کرکټرونه د یو بل څخه د ځینې ډیلیمیټر لکه ځای، کوما یا هایفن سره جلا شوي وي، نو بیا د RemoveDupeWords فنکشن وکاروئ لکه څنګه چې په تیرو مثال کې ښودل شوي.
VBA میکرو د حجرې څخه ورته حروف لرې کولو لپاره
لکه RemoveDupeWords ، د RemoveDupeChars فنکشن هم د میکرو دننه څخه ویل کیدی شي:
عامه Sub RemoveDupeChars2() Dim cell په Application.Selection cell.Value = RemoveDupeChars(cell.Value) د هرې حجرې لپاره د سلسلې په توګه د بل پای Subځکه چې دا UDF هیڅ ډیلیمیټر نه کاروي، تاسو اړتیا نلرئ په دې کې هیڅ ډول سمون ونه کړئ. کوډ.
یادونه. د دې لپاره چې میکرو کار وکړي، د دې کوډ او د RemoveDupeChars UDF کوډ باید په ورته ماډل کې د VBA مدیر کې کیښودل شي.
د میکرو کارولو څرنګوالی
فرض کړئ چې تاسو دمخه په خپل کاري کتاب کې د میکرو کوډ داخل کړی یا زموږ د نمونې کاري کتاب چې کوډ لري پرانیزئ، په دې ډول میکرو پیل کړئ.
- <14 د حجرو یوه سلسله غوره کړئ چې تاسو یې غواړئ تکرار شوي حروف لرې کړئ. میکرو ډیالوګ خلاصولو لپاره Alt + F8 فشار ورکړئبکس.
- د میکرو لیست کې، RemoveDupeChars2 غوره کړئ.
- چل کړئ کلیک وکړئ.
د الټیمیټ سویټ سره نقل شوي فرعي سټینګونه لرې کړئ
د دې ټیوټوریل په پیل کې ، دا یادونه شوې وه چې مایکروسافټ ایکسل په حجره کې د نقلونو لرې کولو لپاره دننه جوړ شوی خصوصیت نلري. مګر زموږ الټیمیټ سویټ دا کار کوي!
تاسو کولی شئ دا په ډپلیکټ ریموور ډراپ-ډاون مینو کې په ابلیټس ډیټا ټب کې ومومئ ، په ډیډوپ<2 کې> ګروپ. که د نقلي فرعي سټینګونو لرې کړئ اختیار ستاسو په Excel کې نه ښکاري، ډاډ ترلاسه کړئ چې تاسو د الټیمیټ سویټ وروستۍ نسخه نصب کړې ده (یو وړیا آزموینه دلته ډاونلوډ کیدی شي).
په 5 ثانیو کې د ډیری حجرو څخه تکرار شوي ټکي یا متن لرې کولو لپاره (په هر ګام کې یوه ثانیه :)، دا هغه څه دي چې تاسو یې کولو ته اړتیا لرئ:
- خپل سرچینې ډاټا وټاکئ او پیل کړئ د ډپلیکیټ فرعي سټرینګونه لرې کړئ وسیله.
- حذف کونکي مشخص کړئ. 14> تعریف کړئ چې ایا پرله پسې محدودونکي د یو (ډیفالټ) په توګه چلند وکړئ.
- وټاکئ چې ایا د کیس حساس یا کیس حساس لټون ترسره کړئ.
- کلک وکړئ لرې کړئ .
ترسره شو! د VBA یا فورمولونو سره هیڅ ګډوډي نشته، یوازې چټکې او دقیقې پایلې.
د دې په زړه پورې اضافې په اړه د نورو معلوماتو لپاره، مهرباني وکړئ د دې کور پاڼې وګورئ. یا حتی غوره، لاندې د ارزونې نسخه ډاونلوډ کړئ او دا هڅه وکړئ!
په حجره کې د نقل متن لرې کولو څرنګوالی.زه ستاسو د لوستلو لپاره مننه کوم او هیله لرم چې په راتلونکې اونۍ کې زموږ په بلاګ کې وګورم!
د موجود ډاونلوډونه
په حجره کې د نقلونو لرې کولو مثالونه (.xlsm فایل)
Ultimate Suite 14 - ورځ په بشپړه توګه فعاله نسخه (.exe فایل)