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

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

قام بنشر

السلام عليكم

الساده الكرام

ارجو المساعدة فى عمل ترتيب على اساس محتوى الخلايا لشيت Training data

اى الخليه   m1 المفتاح الاول 

m2  المفتاح الثانى

m3 المفتاح الثالث

والتى هى عبارة عن قائمة منسدلة

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

نموذج ترشيحات العاملين للبرامج التدريبي7.rar

قام بنشر

السلام عليكم

الاخ الكريم ياسر اولا شاكر لك تعاونك

ولقدد تتبعت موضوعك  القيم

http://www.officena.net/ib/index.php?showtopic=56941#entry374440

الا انى لم اوفق فى الامر كما اريد

اخى الحبيب

يوجد مشكله فى الكود

1- الكود  يشترط  ان تكون الخلايا m3 &m2&m1  بها بيانات لكى يتم تنفيز الكود الكود  (  لا يسمح ان تكون خليه منم فارغة )

بمعنى اذا ارت ان يكون الترتيب على اساس m1 فقط لا استطيع

ثانيا

ثانيا :هل يمكن ان يتم الكود بمجرد التغير فى الخلايا m3  او m2 او m1

اى عدم استخدام الزر  SORT

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

قام بنشر

عدل الكود في الموديول بالشكل التالي

Sub SortData()
    Dim LR As Long, X As Long, Y As Long, Z As Long
    
    LR = Range("A" & Rows.Count).End(xlUp).Row
    If IsEmpty(Range("M1")) Or IsEmpty(Range("M2")) Or IsEmpty(Range("M3")) Then Exit Sub
    
    X = Application.WorksheetFunction.Match(Range("M1").Value, Range("A4:M4"), 0)
    Y = Application.WorksheetFunction.Match(Range("M2").Value, Range("A4:M4"), 0)
    Z = Application.WorksheetFunction.Match(Range("M3").Value, Range("A4:M4"), 0)

    Range("A4:M" & LR).Sort Key1:=Range(Cells(4, X), Cells(LR, X)), Order1:=xlAscending, Key2:=Range(Cells(4, Y), Cells(LR, Y)), Order2:=xlAscending, Key3:=Range(Cells(4, Z), Cells(LR, Z)), Order3:=xlAscending, Header:=xlYes
End Sub

وعدل الكود في حدث ورقة العمل

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim MyRng As Range
  Dim Col As Range
  
  If Not Intersect(Target, Range("M1:M3")) Is Nothing Then
    Call SortData
  End If
  
  If Intersect(Target, Range("M4:M500")) Is Nothing Then Exit Sub
  Application.EnableEvents = False
  Application.Calculation = xlManual
  Application.ScreenUpdating = False
        With Target
            Range("M4:M500").EntireRow.Hidden = False
            For Each Col In Range("M4:M500")
                If CStr(Col) = "" Or Col.Value = 0 Then
                If MyRng Is Nothing Then Set MyRng = Col Else Set MyRng = Union(MyRng, Col)
                End If
            Next
            If Not MyRng.Offset(1, 0) Is Nothing Then MyRng.Offset(1, 0).EntireRow.Hidden = True
      End With


 Application.Calculation = xlAutomatic
 Application.ScreenUpdating = True
 Application.EnableEvents = True
End Sub


قام بنشر

السلام عليكم

اخى الحبيب ياسر

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

اخى الحبيب ماذال الكود لا يتحقق الا بعد امتلاء الثلاثا خلايا m3 &m2&m1

 

اى لا يعمل الكود اذا استخدمت m1  فقط او استخدمت m2& m1 فقط

 

هل من حل ... مرفق الملف بعد ادخال التعيلات التى وصيت بها

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

 

قام بنشر

أخي الكريم

أنت طلبت في المشاركة رقم 3 (لا يسمح ان تكون خليه منهم فارغة)

ولذك وضعت الشرط ألا تكون أي خلية فيهم فارغة !!!!

وضح بالضبط مقصودك .. حيث أنه حدث معي ارتباك نوعاً ما ..

ما المتوقع بالضبط؟

قام بنشر

السلام  عليكم

اخى الحبيب ياسر

تقبل عزرى فى عدم ايصال المطلوب

اخى الحبيب اريد ان يتم الترتيب على اساس الخلاياM1و M2 و M3

ولا يشترط املاء هذا الخلايا

اى يمكن ان يتم الترتيب على شرط واحد اذا ارت ذلك  فى الخليه M1

واذا ارت اضافه شرط اخر سوف يكون فى الخليه M2

وهكذا اذا ارت شرط ثالث سيكون فى الخليه M3

 

وما ذكرته فى المشاركة رقم 3

 

يوجد مشكله فى الكود

1- الكود يشترط ان تكون الخلايا m3 &m2&m1 بها بيانات لكى يتم تنفيز الكود الكود ( لا يسمح ان تكون خليه منم فارغة )

بمعنى اذا ارت ان يكون الترتيب على اساس m1 فقط لا استطيع  ( هذه هى المشكله التى اريد تعديها )

تقبل تحياتى اخى الحبيب ياسر

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

والله أنا محتار إزاي أشتغل ؟؟ .. أنت تريد أن يكون الترتيب على أساس خلية واحدة أم أكثر من خلية ؟

أنت مشكورا قمت بالتوضيح مرتين ولكن الصورة غير مكتملة أمامي .. أنت تريد أن تكون الثلاثة خلايا بها بيانات وفي نفس الوقت تقول تريد أن يكون الترتيب على أساس خلية واحدة أو خليتين ؟!!

الكلام يبدو لي غير منطقي بعض الشيء ..

عموما أنا وضعت حجر الأساس .. وننتظر مساهمات الأعضاء فيما يخص هذه النقطة .. اعذرني لعدم اكتمال الفكرة لدي

 

جرب المرفق التالي عله يفي بالغرض

محاولة بس مش عارف إذا كان دا اللي تقصده ولا لا

نموذج ترشيحات العاملين للبرامج التدريبي7.rar

تم تعديل بواسطه YasserKhalil

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