په Excel کې په حجره کې د نقلونو لرې کولو څرنګوالی

  • دا شریک کړه
Michael Brown

په 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 کې اضافه کولو لپاره، دا هغه څه دي چې تاسو ورته اړتیا لرئ:

    1. د Visual Basic Editor د پرانستلو لپاره Alt + F11 فشار ورکړئ.
    2. په چپ اړخ کې، ښي کلیک وکړئ دا کاري کتاب او غوره کړئ داخل کړئ > موډل .
    3. پورتنۍ کوډ په کوډ کړکۍ کې پیسټ کړئ.

    د نورو معلوماتو لپاره، مهرباني وکړئ وګورئ چې څنګه د 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 د هغو حجرو سلسله وټاکئ چې تاسو غواړئ تکرار شوي متن لرې کړئ.
    1. د Macro ډیالوګ بکس خلاصولو لپاره Alt + F8 فشار ورکړئ.
    2. د میکرو لیست کې، وټاکئ RemoveDupeWords2 .
    3. چل کړئ کلیک وکړئ.

    د نورو جزیاتو لپاره، مهرباني وکړئ وګورئ چې څنګه په 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 فشار ورکړئبکس.
    1. د میکرو لیست کې، RemoveDupeChars2 غوره کړئ.
    2. چل کړئ کلیک وکړئ.

    د الټیمیټ سویټ سره نقل شوي فرعي سټینګونه لرې کړئ

    د دې ټیوټوریل په پیل کې ، دا یادونه شوې وه چې مایکروسافټ ایکسل په حجره کې د نقلونو لرې کولو لپاره دننه جوړ شوی خصوصیت نلري. مګر زموږ الټیمیټ سویټ دا کار کوي!

    تاسو کولی شئ دا په ډپلیکټ ریموور ډراپ-ډاون مینو کې په ابلیټس ډیټا ټب کې ومومئ ، په ډیډوپ<2 کې> ګروپ. که د نقلي فرعي سټینګونو لرې کړئ اختیار ستاسو په Excel کې نه ښکاري، ډاډ ترلاسه کړئ چې تاسو د الټیمیټ سویټ وروستۍ نسخه نصب کړې ده (یو وړیا آزموینه دلته ډاونلوډ کیدی شي).

    په 5 ثانیو کې د ډیری حجرو څخه تکرار شوي ټکي یا متن لرې کولو لپاره (په هر ګام کې یوه ثانیه :)، دا هغه څه دي چې تاسو یې کولو ته اړتیا لرئ:

    1. خپل سرچینې ډاټا وټاکئ او پیل کړئ د ډپلیکیټ فرعي سټرینګونه لرې کړئ وسیله.
    2. حذف کونکي مشخص کړئ.
    3. 14> تعریف کړئ چې ایا پرله پسې محدودونکي د یو (ډیفالټ) په توګه چلند وکړئ.
    4. وټاکئ چې ایا د کیس حساس یا کیس حساس لټون ترسره کړئ.
    5. کلک وکړئ لرې کړئ .

    ترسره شو! د VBA یا فورمولونو سره هیڅ ګډوډي نشته، یوازې چټکې او دقیقې پایلې.

    د دې په زړه پورې اضافې په اړه د نورو معلوماتو لپاره، مهرباني وکړئ د دې کور پاڼې وګورئ. یا حتی غوره، لاندې د ارزونې نسخه ډاونلوډ کړئ او دا هڅه وکړئ!

    په حجره کې د نقل متن لرې کولو څرنګوالی.زه ستاسو د لوستلو لپاره مننه کوم او هیله لرم چې په راتلونکې اونۍ کې زموږ په بلاګ کې وګورم!

    د موجود ډاونلوډونه

    په حجره کې د نقلونو لرې کولو مثالونه (.xlsm فایل)

    Ultimate Suite 14 - ورځ په بشپړه توګه فعاله نسخه (.exe فایل)

    مایکل براون د ټیکنالوژۍ وقف شوی لیوال دی چې د سافټویر وسیلو په کارولو سره د پیچلو پروسو ساده کولو لپاره لیوالتیا لري. د ټیک صنعت کې د یوې لسیزې څخه ډیرې تجربې سره، هغه خپل مهارتونه په مایکروسافټ ایکسل او آؤټ لک کې، او همدارنګه د ګوګل شیټس او اسنادو کې لوړ کړي دي. د مایکل بلاګ د نورو سره د هغه پوهه او تخصص شریکولو ته وقف شوی دی، د تولید او موثریت د ښه کولو لپاره د تعقیب لپاره اسانه لارښوونې او لارښوونې چمتو کوي. که تاسو تجربه لرونکی مسلکي یاست یا پیل کونکی یاست ، د مایکل بلاګ د دې اړین سافټویر وسیلو څخه خورا ډیر ترلاسه کولو لپاره ارزښتناک لیدونه او عملي مشورې وړاندې کوي.