أخواني الكرام كتبت هذا الكود لضمان ملأ عامود رقم 13 بأكمله في الفليكس جريد وعند اختبار الكود لاحظت أن الكود يملأ أخر خانه فقط في هذا العامود وليس العامود بأكمله أرجو التعديل علي هذا الكود ولكم مني جزيل الشكر
Dim s as integer
For s = 1 To MSHFlexGrid1.Rows - 1
If (MSHFlexGrid1.TextMatrix(s, 13)) = "" Then
Command6.BackColor = vbRed
Else
Command6.BackColor = vbGreen
End If
Next
ارفق برنامجك ليتم التعديل علية
السلام عليكم...
في الواقع، الكود المعروض في السؤال لا يملأ و لا يضمن ملء الخلايا في العمود رقم 13. و إنما هو يغير لون الزر Command6 حسب ما إذا كانت الخلية التي يمر عليها فارغة أم لا. و إذا كنت تقصد أن لون الزر في النهاية يعتمد على محتوى آخر خلية فقط في العمود، فهذا طبيعي لأن الحلقة ستتوقف عند آخر خلية في العمود و تضبط لون الزر على ذلك الأساس.
نرجو توضيح طلبك بشكل أدق، أو - كما قال أخونا تركي الحلواني - أرفق المشروع أو على الأقل النافذة ذات العلاقة.
و السلام.
مشكور أخي الكريم علي اهتمامك ولكن المقصود أريد تغيير لون الزر في حالة اذا كانت اي خليه في هذا العامود لا تحتوي علي شيء وليست الخلية الأخيرة فقط
السلام عليكم...
كود :
Dim s As Integer
' نفرض في البداية أن كل شيء تمام - أخضر
Command6.BackColor = vbGreen
For s = 1 To MSHFlexGrid1.Rows - 1
' عندما نجد أول خلية فارغة
If Trim$(MSHFlexGrid1.TextMatrix(s, 13)) = "" Then
Command6.BackColor = vbRed ' نغير اللون إلى الأحمر
Exit For ' نخرج من الحلقة فلا داعي للاستمرار
End If
Next
نرجو الاستفادة و السلام.
السلام عليكم
انصحك بطريقة الذهاب الى position =0
ثم طريقة next
بحيث تضع صندوق نص تختبر فيه اذا كان فارغا ام لا
واي خانة تكون فارغة تظهر رسالة خطأ وهي املا العمود كاملا
أخي الكريم ممكن تكتب الكود كمل وتوضح بالضبط لو تكرمت