اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الفرز (الترتيب) مع تجاهل كلمة (أبو)، (أم)، (ابن)، (بنو)


الردود الموصى بها

الإخوة الكرام، هل هناك طريقة لترتيب قائمة أعلام فيها مثلا (محمد، علي، أبو شهبة، أم سلمة، ابن عباس) بحيث أتجاهل كلمة (أبو)، (أم)، (ابن) في الترتيب، فيأتي مثلا (أبو شهبة) في حرف (الشين) ، و(أم سلمة) في حرف (السين)، و(ابن عباس) في حرف (العين)؟

رابط هذا التعليق
شارك

السلام عليكم

اعتقد المطلوب سيكون اسهل كثيرا فى الاكسيل

و هناك بالفعل عدة مواضيع تطرقت الي تقسيم و الي ترتيب الاسماء بقسم الاكسيل ، فاستخدم خاصية البحث للوصول لها

رابط هذا التعليق
شارك

جزاكم الله خيرا أستاذ محمد على ردكم، لكني عملت هذا الماكرو، ونفع والحمد لله:

Sub ترتيبأعلام()
'
' ترتيبأعلام Macro
'
'
 Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    Selection.Find.Replacement.Font.Color = wdColorRed
    With Selection.Find
        .Text = "^pابن "
        .Replacement.Text = "^pابن* "
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "^pأبو "
        .Replacement.Text = "^pأبو* "
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "^pأم "
        .Replacement.Text = "^pأم* "
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        
     With Selection.Find
        .Text = "^pبنو "
        .Replacement.Text = "^pبنو* "
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
         End With
    
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Font.Color = wdColorAutomatic
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "^p"
        .Replacement.Text = "^p*"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.WholeStory
    WordBasic.TextToTable ConvertFrom:=3, NumColumns:=2, NumRows:=11, _
        InitialColWidth:=wdAutoPosition, Format:=0, Apply:=1184, AutoFit:=0, _
        SetDefault:=0, Word8:=0, Style:="شبكة جدول"
    Selection.Sort ExcludeHeader:=False, FieldNumber:="عمود 2", SortFieldType _
        :=wdSortFieldAlphanumeric, SortOrder:=wdSortOrderAscending, FieldNumber2 _
        :="", SortFieldType2:=wdSortFieldAlphanumeric, SortOrder2:= _
        wdSortOrderAscending, FieldNumber3:="", SortFieldType3:= _
        wdSortFieldAlphanumeric, SortOrder3:=wdSortOrderAscending, Separator:= _
        wdSortSeparateByCommas, SortColumn:=False, CaseSensitive:=False, _
        LanguageID:=wdArabicEgypt, SubFieldNumber:="فقرات", SubFieldNumber2:= _
        "فقرات", SubFieldNumber3:="فقرات"
    Selection.Sort BidiSort:=False, IgnoreThe:=True, IgnoreKashida:=False, _
        IgnoreDiacritics:=False, IgnoreHe:=False
    Selection.Rows.ConvertToText Separator:=wdSeparateByDefaultListSeparator, _
        NestedTables:=True
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "*"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
       
    End With
   
    Selection.Find.Execute Replace:=wdReplaceAll
   Selection.MoveUp Unit:=wdLine, Count:=1
End Sub

 

 

 

رابط هذا التعليق
شارك

جميل انك وصلت الي مبتغاك 😄

ما فهمته من الكود انك اعتمدت الاستبدال ثم بعد ذلك الترتيب لبيانات موجودة فى جدول معين ، و لم يتم ترتيبها كما هي

يرجى ارفاق ملف يه مثال مبسط للتطبيق لنجربه حيث يعتمد الجزء الثاني من الكود على بيانات الجدول

رابط هذا التعليق
شارك

هذا نموذج للقائمة اليمين قبل الترتيب، والأخرى بعد الترتيب، ونلاحظ فيها أن الكلمات المطلوب عدم اعتبارها في الترتيب ملونة باللون الأحمر:

محمد بن علي

أحمد بن محمد

أحمد بن محمد

أبو أسيد

سعيد بن المسيب

داود بن محمد

أبو أسيد

أم رويم

أم رويم

سعيد بن المسيب

ابن عباس

بنو سلمة

ابن شهاب

أم سلمة

بنو سلمة

ابن شهاب

أم هانئ

أبو صالح

بنو ضبة

بنو ضبة

داود بن محمد

ابن عباس

أبو صالح

محمد بن علي

أم سلمة

أم هانئ

رابط هذا التعليق
شارك

الفكرة ببساطة: - أني حولت كل الكلمات المطلوبة الموجودة في بداية الفقرة إلى اللون الأحمر وجعلت بعدها *

                       - جعلت كل فقرة تلقائي قبلها *

                       - وبهذا أصبحت القائمة عبارة عن مقطعين يصلحان أن يكونا جدولا عند اعتبار علامة الجدولة هي (*)

                       - ظللت النص كله وحولت النص إلى جدول مع علامة الجدولة (*)

                       - فأصبح عندي عمودان أحدهما فيه (أبو، أم، ابن، بنو) والعمود الثاني فيه بقية الاسم الذي أوله هذه الكلمات، مع الكلمات الأخرى التي لا تبدأ بـ(أبو، أم، ابن، بنو)

                       - رتبت الجدول على العمود الثاني، وبهذا لم تدخل الكلمات المطلوبة في الترتيب.

                       - حولت مرة أخرى الجول إلى نص، فتكونت القائمة على الترتيب المطلوب.

ملحوظة: لا بد أن تكون علامة الجدولة المخزنة (*) لأن الورد قد يكون مخزنا فيه علامة أخرى، وهنا الماكرو لن يشتغل على الوجه المطلوب.

             كما يجب أن نجعل في أول الملف (إنتر) حتى تكون علامة فقرة.

تم تعديل بواسطه أبو عاصم المصري
رابط هذا التعليق
شارك

  • 2 months later...

السلام عليكم ورحمة الله وبركاته

يعطيك العافية على هذا الجهد الطيب، نسخت الكود وعند تشغيله لوَّن (أبو، ابن، بنو...) بالأحمر (مرفق)، وتم وضع نقطتان بآخر الفقرة.

لاطلاعكم لطفاً

Capture.JPG

رابط هذا التعليق
شارك

  • 2 weeks later...
في ‏٢٩‏/‏٠٢‏/‏٢٠٢٠ at 20:41, محمد طاهر said:

السلام عليكم

اعتقد المطلوب سيكون اسهل كثيرا فى الاكسيل

و هناك بالفعل عدة مواضيع تطرقت الي تقسيم و الي ترتيب الاسماء بقسم الاكسيل ، فاستخدم خاصية البحث للوصول لها

وعليكم السلام ورحمة الله وبركاته

ممكن نستفيد عن كيفية ترتيب الأسماء وتجاوز (أبو، ابن، بنو....)

مع الشكر

رمضان كريم

رابط هذا التعليق
شارك

هناك عدد من المواضيع الشبيهة فى اقسام المنتدى المخنلفة يمكن الاستفادة من الافكار بها

على سبيل المثال لا الحصر

 

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information