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

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

قام بنشر

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

أخي العزيز،

بمعية أعمدة مساعدة ومعادلات تم عمل المطلوب... غير أنه لم تُراعى فيه التكرارات في القوائم المنسدلة (لا في اسم العميل ولا في رقم القيد)....

بن علية

bjn3000.rar

  • Like 3
قام بنشر

بسم الله ما شاء الله حلول ممتازة

أنا كنت مجهز ملفك من بدري لكن حصل انقطاع للكهرباء لمدة ساعتين فمنعت من المشاركة في الموضوع

عموماً زيادةً في إثراء الموضوع إليك الملف التالي ..

تم الاستعانة بعمودين مساعدين ..عمود لاستخراج القيم الفريدة لأسماء العملاء في العمود I بدايةً من الخلية I4 ، وذلك بناءً على قيمة الخلية K2 ، تم وضع معادلة الصفيف التالية

=IFERROR(INDEX($B$4:$B$31,MATCH(0,COUNTIF($I$3:$I3,$B$4:$B$31)+($A$4:$A$31<>$K$2),0),COLUMN(A1)),"")

معادلة صفيف تعني أنه بعد الإدخال يتم الضغط على Ctrl + Shift + Enter

العمود الثاني المساعد هو العمود J بدايةً من الخلية J4 ، وذلك بناءً على الخليتين K2 وL2 تم استخراج أرقام القيد الغير مكررة

بمعادلة الصفيف التالية

=IFERROR(IF(I4="","",INDEX($C$4:$C$31,MATCH(0,COUNTIF($J$3:$J3,$C$4:$C$31)+($A$4:$A$31<>$K$2)+($B$4:$B$31<>$L$2),0),COLUMN(A1))),"")

معادلة صفيف تعني أنه بعد الإدخال يتم الضغط على Ctrl + Shift + Enter

**************************

المرحلة الثانية .. تحديد الخلية L2 ثم الذهاب إلى التبويب Data ثم Data Validation ثم اختيار List من القائمة ثم كتابة المعادلة التالية

=OFFSET(I4,0,0,MATCH("",I4:I1000,0)-1,1)

نفس الكلام مع الخلية المجاورة M2

=OFFSET(J4,0,0,MATCH("",J4:J1000,0)-1,1)

أرجو أن أكون قد وفقت لتوصيل المعلومة

تقبل تحياتي :wink2:

Validation Lists YasserKhalil.rar

  • Like 4
قام بنشر

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

الأساتذة الأفاضل :

خالد الرشيدي

ابن علية حاجي

ياسر خليل أبو البراء

بسم الله ما شاء الله ..بارك الله فيكم و زادها بميزان حسناتكم ..كم أحب أقرأ مشاركاتكم..دروس في دروس

تحياتي

 

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

السلام عليكم

المعادلة الأولى : استخراج أسماء العملاء التي التي تطابق نوع القيد

معادلة صفيف

=IFERROR(INDEX($B$4:$B$31;SMALL(IF($A$4:$A$31=$I$2;ROW($B$4:$B$31)-4;"");ROW($A1)));"")

المعادلة الثانية : استخراج الأسماء بدون تكرار

=IFERROR(INDEX($I$17:$I$36;MATCH(0;COUNTIF($J$16:J16;$I$17:$I$36);0));"")

المعادلة الثالثة : انشاء قائمة منسدلة عن طريق وضع هذه المعادلة في التحقق من الصحة

=OFFSET($J$17;;;SUMPRODUCT(1*($J$17:$J$33<>"")))

تحياتى اليكم جميعا

bjn3000.rar

تم تعديل بواسطه محمد الريفى
  • أفضل إجابة
قام بنشر (معدل)

الحلول المقدمة كلها بالمعادلات .. نسينا الأكواد  :excl:

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

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim A, I As Long

    If Target.Cells.Count > 1 Then Exit Sub
    If Target.Value = vbNullString Then Exit Sub
    If Intersect(Range("I2:J2"), Target) Is Nothing Then Exit Sub

    A = Range("A4", Range("A" & Rows.Count).End(xlUp)).Resize(, 3).Value

    With CreateObject("Scripting.Dictionary")
        For I = 1 To UBound(A, 1)
            If Target.Address = "$I$2" Then
                If A(I, 1) = Target.Value Then .Item(A(I, 2)) = Empty
            Else
                If A(I, 1) = Target(, 0).Value And A(I, 2) = Target.Value Then .Item(A(I, 3)) = Empty
            End If
        Next
        If .Count Then
            Target.Resize(, 2).Offset(, 1).Validation.Delete
            Target.Offset(, 1).Validation.Add 3, , , Join(.keys, ",")
            Application.EnableEvents = False
            Target.Offset(, 1).ClearContents
            Application.EnableEvents = True
        End If
    End With

End Sub

أرجو أن يفي بالغرض

Validation Lists VBA.rar

تم تعديل بواسطه ياسر خليل أبو البراء
  • Like 3
قام بنشر

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

بعد مراجعة المعادلات وُجد خطأ في بعضها وتم تصحيحه في المرفق الجديد مع اعتبار عدم تكرار الأسماء وإضافة تحسينية بتنسيق شرطي (تلوين بالأخضر للصف الذي يحوي نتائج الاختبار)... أرجو أن ينال إعجابك...

بن علية

bjn3000.rar

  • Like 2

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