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

استدعاء اكبر قيمة الى TextBox بشرط محتوي ComboBox


MoshAna
إذهب إلى أفضل إجابة Solved by أ / محمد صالح,

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

السلام عليكم ورحمة الله وبركاته ...تحية الى جميع الاخوة الاعضاء

احاول انشاء برنامج صغير للحسابات واحاول ايجاد طريقة لاستدعاء اكبر قيمة الى TextBox بشرط محتوي ComboBox
' كود لا يعمل بشكل صحيح

a = ComboBox1.Value
b = formulaarry = "=Max(IF(a = (c2:c), (a2:a) + 1, 1))"
TextBox1.Value = b
Label1.Caption = b

وصلت الى حل عن طريق معادلة فى خلية فى شيت اكسيل

'كود بمعادلة وسيطة فى شيت اكسيل
 

Sheet1.[f2].FormulaArray = "=MAX(IF(g2= (sheet2!c2:c100),(sheet2!a2:a100)+1,1))"
Sheet1.[g2] = ComboBox1.Value
TextBox2.Value = Sheet1.[f2].Value
Label2.Caption = Sheet1.[f2].Value

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

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

Test01.jpg

Test01.xlsm

1.png

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

  • أفضل إجابة

جرب استعمال هذا السطر

Private Sub comboBox1_Change()
TextBox1.Value = Evaluate("=MAXIFS(Sheet2!A:A,Sheet2!C:C,""" & ComboBox1.Value & """)+1")
End Sub

باستعمال maxifs تقريبا تعمل في اوفيس 2013 وما بعده 

ويمكن استعمال هذا السطر لنسخ الأوفيس القديمة 

TextBox1.Value = Evaluate("=MAX(IF(""" & ComboBox1.Value & """=(Sheet2!C$2:C$100),(Sheet2!A$2:A$100)+1,1))")

بالتوفيق

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

شكرا ا/محمد

كود حضرتك تمام
المشكلة كانت فى اصدار الاوفيس اللى كنت شغال عليه لا يدعم دالة MAXIFS
جزاكم الله كل الخير وجعل كل ما تقدمونه من مساعدات فى ميزان حسناتكم

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

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

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

Important Information