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

ممكن ربط خلية يقائمة منسدلة


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

أخي الكريم محمد الخازمي

ضع المعادلة التالية في الخلية D16 في ورقة ايصال

=IF(ادخال!$J$13="دينار",ادخال!$I$13,"")

وضع الكود التالي في حدث ورقة العمل الأولى "ادخال" ..كليك يمين على اسم ورقة العمل ثم View Code ثم الصق الكود التالي

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.CountLarge > 1 Then Exit Sub
    If Target.Address = "$K$13" Then
        If Target.Value = "بنك" Then
            Shapes("Check Box 8").OLEFormat.Object.Value = True
            Shapes("Check Box 10").OLEFormat.Object.Value = False
            Shapes("Check Box 12").OLEFormat.Object.Value = False
        ElseIf Target.Value = "بريد" Then
            Shapes("Check Box 8").OLEFormat.Object.Value = False
            Shapes("Check Box 10").OLEFormat.Object.Value = True
            Shapes("Check Box 12").OLEFormat.Object.Value = False
        ElseIf Target.Value = "بنفسة" Then
            Shapes("Check Box 8").OLEFormat.Object.Value = False
            Shapes("Check Box 10").OLEFormat.Object.Value = False
            Shapes("Check Box 12").OLEFormat.Object.Value = True
        End If
    End If
End Sub

تقبل تحياتي

 

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

جرب تشيل كلمة Large الموجودة بعد كلمة Count .. وخلي كلمة Count بس (ممكن بسبب نسخة الأوفيس القديمة لديك والتي ما زلت متمسكاً بها)

 

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

السلام عليكم استاذ ياسر

شكراً على التعديل ""اوفيس 2003  يعز علينا بشكل كبير ..

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

 

       Sheets("ايصال").Select

ولكن غير صحيحة ............. مجرد محاول

 

 

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Target.Address = "$K$13" Then

///////////////////////

Sheets("ايصال").Select

//////////////////////



            Shapes("Check Box 41").OLEFormat.Object.Value = True
            Shapes("Check Box 42").OLEFormat.Object.Value = False
            Shapes("Check Box 43").OLEFormat.Object.Value = False
        ElseIf Target.Value = "بريد" Then
            Shapes("Check Box 41").OLEFormat.Object.Value = False
            Shapes("Check Box 42").OLEFormat.Object.Value = True
            Shapes("Check Box 43").OLEFormat.Object.Value = False
        ElseIf Target.Value = "بنفسة" Then
            Shapes("Check Box 41").OLEFormat.Object.Value = False
            Shapes("Check Box 42").OLEFormat.Object.Value = False
            Shapes("Check Box 43").OLEFormat.Object.Value = True
        End If
    End If
End Sub

 

5.png

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

وعليكم السلام

أخي الكريم محمد

إذا أردت أن يعمل الكود لما لا تقوم بنقل الكود في حدث الورقة الأخرى لا في حدث الورقة الأولى .. بدلاً من تحديد الورقة في الكود ..إذ أنه في حالة التحديد لابد من التعديل على الكود ليفهم ورقة العمل الجديدة المطلوب العمل عليها ، لذا أفضل نقل الكود للورقة الجديدة المطلوب العمل عليها مع تعديل ما يلزم

تقبل تحياتي

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

أخي الكريم محمد

أفضل إرفاق الملف من جديد وتحديد المطلوب بشكل أوضح لأني تهت منك ..لم يكن المطلوب هكذا في بداية الموضوع

حاول توضح من تاني لأنه يبدو أن الطلب مختلف الآن

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

جميل ورائع أيها المعلم العبقري

والأجمل الاختصار الجميل في الكود للوصول للمطلوب ..فكرة في منتهى الجمال أن تحمل القيمة True و False في متغيرات يتم استخدامها بشكل أبسط خصوصاً لو كان التعامل سيكون مع عدد أكبر من صناديق الاختيار

 

أيوا كدا رجعنا لأيام زمااااااااااااااااان

تقبل تحياتي

 

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

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

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



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

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

Important Information