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

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

قام بنشر

السلام عليكم

 

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

 

 أريد عند إختيار التصنيف وليكن 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

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