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

تصفية بالدروب داون ليست


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

السلام عليكم

 

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

 

 أريد عند إختيار التصنيف وليكن A+ 

من شيت BOQSheet 

يظهر لي في البند الفرعي بدروب داون ليست الحاجات اللي أنا ضايفها في جدول العمليات ClassSheet

 

كمثال بند A+ 

مربوط بال Div

فعد إختياري لـ DIV-01-01 

و A+

يظهر لي "تربة صخرية" و "123456"

في دروب ليست في شيت BOQSheet 

تحت خانة البند الفرعي

 

مرفق شيت الإكسيل للتعديل عليه وجزاكم الله خيرا

 

 

All.BOQ.xlsx

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

أولا جزاك الله خيرا على المجهود هذا

أود أشكرك شكر جزيل على هذا العمل الرائع

 

بس لما بكرر البوكس في بقية الBoQ

بيجيب نفس النتائج وأنا أريده يجيب النتيجة حسب ال Div

DIV-01-09 مثلا 

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

 

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

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

حاول تجربة هدا من خلال اليوزرفورم

Dim f
Private Sub UserForm_Initialize()
  Set f = Sheets("ClassSheet")
  Set d = CreateObject("Scripting.Dictionary")
  For Each c In f.Range("b2:b" & f.[b65000].End(xlUp).Row)
    d(c.Value) = ""
  Next c
  Me.ComboBox1.List = d.keys
End Sub
Private Sub ComboBox1_Change()
  Set d = CreateObject("Scripting.Dictionary")
  For Each c In f.Range("b2:b" & f.[b65000].End(xlUp).Row)
    If c.Value = Me.ComboBox1 Then d(c.Offset(0, -1).Value) = ""
  Next c
  Me.ComboBox2.List = d.keys
  Me.ComboBox2.ListIndex = -1
  Me.ComboBox3.ListIndex = -1
End Sub
Private Sub ComboBox2_Change()
  Set d = CreateObject("Scripting.Dictionary")
    For Each c In f.Range("b2:b" & f.[b65000].End(xlUp).Row)
        If c.Value = Me.ComboBox1 And _
        c.Offset(0, -1).Value = Me.ComboBox2 Then _
                d(c.Offset(0, 1).Value) = ""
        Next c
   Me.ComboBox3.List = d.keys
   Me.ComboBox3.ListIndex = -1
End Sub
Private Sub b_validation_Click()
 
   If Me.ComboBox1 <> "" Then ActiveCell.Offset(0, 2).Value = Me.ComboBox1.Value
   If Me.ComboBox2 <> "" Then ActiveCell.Value = Me.ComboBox2.Value
   If Me.ComboBox3 <> "" Then ActiveCell.Offset(0, 4).Value = Me.ComboBox3.Value
   Unload Me
End Sub

 

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Application.Intersect(Target, Sheet1.Range("b8:b200")) Is Nothing Then
        UserForm1.Show
    End If
End Sub

 

All.BOQ V2.xlsm

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information