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

تعديل كود : ربط قوائم منسدلة بخلايا محددة


إذهب إلى أفضل إجابة Solved by أبو حنــــين,

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

السلام عليكم

 

احاول ربط عشرة قوائم منسدلة موجودة بالفورم بالخلايا A1:A10 بحيث تكون كل قائمة تحتوي على محتويات الخلايا  A1:A10

 

الخلايا A1:A10 اسمها = List1

 

حاولت تعديل الكود ادناه لكنني لم استطع ...الكود يعمل اذا ربطت قائمة منسدلة واحدة ... ولا يعمل عند محاولة ربط اكثر من قائمة برنج معين ... ولا اريد ان اجعل كل قائمة لها كود منفصل لكثرتها ...

  For Each cPart In ws.Range("List1")
  With Me.ComboBox1 & Me.ComboBox2 & Me.ComboBox3  & Me.ComboBox4 & Me.ComboBox5 & Me.ComboBox6 & Me.ComboBox7 & Me.ComboBox8 & Me.ComboBox9 & Me.ComboBox10 
    .AddItem cPart.Value
    .List(.ListCount - 1, 1) = cPart.Offset(0, 1).Value
  End With
  Next cPart

تحياتي لكم

 

اخوكم / ابوليمونه

تم تعديل بواسطه أبو ليمونه
رابط هذا التعليق
شارك

ابو حنين

 

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

 

الكود يعمل بكل مرونه بارك الله فيك وجزاك الله الف خير وجعل ما قمت فيه بميزان حسناتك.

 

فقط اريد ان اتعلم اكثر منكم ... لو افترضنا ان الكود نريد ان نطبقه على القوائم التالية فقط : ComboBox1 & ComboBox4 & ComboBox8

 

كيف يكون شكله ؟ 

 

تحياتي لك

تم تعديل بواسطه أبو ليمونه
رابط هذا التعليق
شارك

 

فقط اريد ان اتعلم اكثر منكم ... لو افترضنا ان الكود نريد ان نطبقه على القوائم التالية فقط : ComboBox1 & ComboBox4 & ComboBox8

 

كيف يكون شكله ؟ 

 

 

السلام عليكم

الاخ الكريم / أبو ليمونه

احيي بالفعل فيك روح حب التعلم الموجودة لديك اعانك الله علي ان تصل الي مبتغاك

بعد اذن استاذي الحبيب / ابو حنين ... جزاه الله خيرا

 

تفضل اخي الكود التالي لتنفيذ طلبك :

Private Sub UserForm_Initialize()
Set ws = Sheets("sheet1")
Me.ComboBox1.List = ws.Range("List1").Value
Me.ComboBox4.List = ws.Range("List1").Value
Me.ComboBox8.List = ws.Range("List1").Value
End Sub

تقبلوا خالص تحياتي

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

السلام عليكم

و لاثراء الموضوع يمكن ان نختار من Array مربعات السرد التي نريدها بالطريقة التالية

Private Sub UserForm_Initialize()
'----------------------------------------------------------------
    Art = Array("ComboBox1", "ComboBox4", "ComboBox8") ' هنا نضع ما نريد من مربعات السرد كمبوبكس
'----------------------------------------------------------------
    For i = 0 To UBound(Art)
    Me.Controls(Art(i)).List = ws.Range("List").Value
    Next
End Sub

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

السلام عليكم

الاستاذ الحبيب / أبو حنين

بارك الله فيك

دائما تقدم الرواائع للجميع

وتقدم حتي الطرق المعقدة ( Array ) باسهل الاشكال واقصر الطرق

جعله الله في ميزان حسناتك

تقبل خالص تحياتي

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

اخي ابوحنين مبدع دااااااائما

 

شكرا لك على التعديل وجزاك خير الدنيا والاخرى

 

اخي حمادة

 

بارك الله فيك وشكرا لك على مشاركتك وما نحن الا تلاميذ نتعلم منكم ...

 

تحياتي لكم

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

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

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

Important Information