اذهب الي المحتوي
أوفيسنا

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

قام بنشر

السلام عليكم

الاخوة الافاضل

ارجو المساعده  

كيف يمكن جعل هذا الماكرو يتم استخدامه من اكثر من شيت

شيت 1 و 2 و 3 و 4

بمعنى عند الدخول على شيت 1 يمكن استخدامه

و عند الدخول على شيت 2 يمكن استخدامه

وعند الدخول على شيت 3 يمكن استخدامه

وعند الدخول على شيت 4 يمكن استخدامه

وهو ماكرة ترتيب من b4   الى k 40 على ان يكون k4 هم عمود الترتيب

Sub SORT()

    ActiveWorkbook.Worksheets("1").SORT.SortFields.Clear
    ActiveWorkbook.Worksheets("1").SORT.SortFields.Add Key:=Range("K5:K40" _
        ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("1").SORT
        .SetRange Range("B4:K40")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("A2:J2").Select
End Sub

 

 

قام بنشر (معدل)

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

 

أخي الحبيب أبو حنين، كحل أول يمكن استبدال العبارة "1" في الكود (ثلاث مواضع) بإحدى العبارات التالية : [A1] أو ("Range("A1 أو (Cells(1,1 مع وضع في كل خلية A1 من كل شيت اسم الشيت المعني (يمكن اختيار خلية أخرى غير A1 أو حتى اسم الشيت بالـ تسمية) كما فعلت في الكود (المعدل التالي) :

Sub SORT()    
   ActiveWorkbook.Worksheets([A1]).SORT.SortFields.Clear     
   ActiveWorkbook.Worksheets([A1]).SORT.SortFields.Add Key:=Range("K5:K40" _
         ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
     With ActiveWorkbook.Worksheets([A1]).SORT         
        .SetRange Range("B4:K40")         
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin         
        .Apply
     End With     
  Range("A2:J2").Select
End Sub

مع ملاحظة أن هذا الكود معمول أن يشتغل مع نسخ إكسيل المتقدمة (2007 أو 2010 أو 2013)...

 

والله أعلم

 

أخوك بن علية

تم تعديل بواسطه بن علية حاجي
قام بنشر

السلام عليكم

اخى الحيب بن علية حاجى

اولا حمدا لله على سلامتك

منور المنتدى

كالعاده لم استطيع تنفيز ما اسلفته فى الكود

الشيتات الاربع مسماهم كاتى

DALY

CAMP

ADMI

FIELD

برجاء ضبط الكود على هذا الاساس

وتوضيحا للمراد

عند الدخول فى شيت DALY  يمكنى الضعط غلى زر الكود فيقوم بالترتيب الموضح

وعند الدخول فى شيت CAMP يمكنى الضعط غلى زر الكود فيقوم بالترتيب الموضح

وعند الدخول فى شيت DALY يمكنى الضعط غلى زر الكود فيقوم بالترتيب الموضح

اخى الحبيب

اعلم مدى انشغالك .... كان الله فى العون

جزاك الله خيرا

قام بنشر (معدل)

السلام عليكم

اخى العزيز بن على

تظهر هذه الرساله بالون الاصفر عن تطبيق الكود ( اول سطر فى الكود بعد  Sub STOR()) يظهر بالون الاصفر

فما معنى لك

تم تعديل بواسطه ۩◊۩ أبو حنين ۩◊۩
قام بنشر

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

 

أخي الحبيب أبو حنين، تم التعديل على الملف والكود بما يوافق المطلوب باستعمال تسمية Nom بمعادلة بوساطة الدالة GET.CELL تقوم تلقائيا بتحديد اسم الشيت المحدد Activated. يبقى فقط تعديل الكود بتحديد النطاق المراد فرزه حسب العمود K...

 

أرجو أن يكون هذا المطلوب...

 

ملاحظة: في ملفك لم تقم بكتابة الاسم الصحيح للشيت في الخلية A1... مثال : الشيت المسمى "Sheet1" كتبت في خليته A1 الاسم  "الادارية"...

 

أخوك بن علية

 

المرفق: Book1.rar

قام بنشر

اخى الخبيب بن على

جزاك الله كل خير

دائما نستفيد بخبراتك

جزاك الله كل خير

 اخى الحبيب هلى يمكن ان يعمبل الكود تلقئى عن ادخال اخر المعطيات فى الخلية j

يقوم بالترتيب تلقائى

  • تمت الإجابة
قام بنشر (معدل)

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

 

أخي الحبيب أبو حنين، بالنسبة لمعادلة التسمية Nom  تجدها في قائمة Formula ثم Name Manager (ومعذرة على الترجمة لأني أعمل على نسخة إكسيل بالفرنسية)... فيما يخص عمل الكود تلقائيا فهذا بسيط وقد تم إضافة الكود التالي إلى حدث ThisWorkbook :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Not Intersect(Target, Range("J4:J40")) Is Nothing Then SORT
End Sub

أرجو أن يكون المطلوب...

 

أخوك بن علية

 

المرفق : Book1.rar

تم تعديل بواسطه بن علية حاجي
قام بنشر

السلام عليكم

اخى الحبيب بن علية حاجى

اولا سلمت يداك .... جزاك الله كل خير.... تم المطلوب

وارجو منك ان تشرح لى موضوع   Nom تى يتسنى لى الاستفاده بصوره كامله

وحتى يتم تطبيق الامر فى اى مموع مماثل

 

عنى فتح  Name Manager

  =RIGHT(GET.CELL(32);LEN(GET.CELL(32))-FIND("]";GET.CELL(32)))وجت هذا

ماذا يعنى

واين موضع معادلة التسمية Nom  من الكود

جزاك الله كل الخير

 

 

قام بنشر

اخى العزيز بن علية حاجى

تم استخدام الكود في حدث الشيت

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)     If Not Intersect(Target, Range("J4:J40")) Is Nothing Then SORT End Sub

وبذلك يتم عمل الكود تلقائى على جميع الشيتات

هلى من حل لجعل الكود يعمل تلقائى  على الشيتات التي احددها فقط

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