السلام عليكم و رحمة الله و بركاته
اليوم أقدم الى حضراتكم كودى الجديد الذى تستطيع من خلاله تطبيق التنسيق الشرطى داخل اليوزر فورم
أو بعبارة أخرى
نقل البيانات بالتنسيقات الشرطية من خلايا محددة الى كنترولات داخل اليوزر فورم مثل التكست بوكس
وهذا تحقيقا لطلب أحد الزملاء و هو الأخ ابو راكان العودة على هذا الرابط :
http://www.officena.net/ib/topic/65950-%D9%87%D9%84-%D9%8A%D9%85%D9%83%D9%86-%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%A7%D9%84%D8%AA%D9%86%D8%B3%D9%8A%D9%82-%D8%A7%D9%84%D8%B4%D8%B1%D8%B7%D9%8A-%D9%81%D9%8A-%D8%A7%D9%84%D9%8A%D9%88%D8%B2%D8%B1-%D9%81%D9%88%D8%B1%D9%85/
الكود و عليه الشرح :
Option Base 1 ' التصريح بأن القيمة الافتراضية الصغرى فى المصفوفة = 1
Private Sub UserForm_Activate()
' by Mokhtar 29/12/2015
' وظيفة الكود
' تطبيق التنسيق الشرطى على كنترول داخل اليوزرفورم
' --------------------------------------------
' التصريحات والمتغيرات
Dim X As Integer
Dim myArray As Variant
myArray = Array("B2", "C2", "D2", "E2", "F2", "G2", "H2", "I2") ' مصادر التكست بوكس
' فى حالة حدوث خطأ ما تجاهله وانتقل الى الاجراء التالى
On Error Resume Next
' حلقة تكرارية على التكست بوكس لتعبئته بالقيم والتنسيق الشرطى من المصادر
' ----------------------------------------------------------------------
For X = 1 To 8 ' عدد التكست بوكس
With Me.Controls("Textbox" & X) ' لكل تكست بوكس فى الثمانية
' مصدر نص التكست بوكس
.Text = Sheets("ورقة1").Range(myArray(X)).Value '
' مصدر لون التكست بوكس
.BackColor = Sheets("ورقة1").Range(myArray(X)).DisplayFormat.Interior.Color '
' مصدر لون خط التكست بوكس
.ForeColor = Sheets("ورقة1").Range(myArray(X)).DisplayFormat.Font.Color '
End With ' With انهاء جملة
Next X ' انتقل الى التكست بوكس التالى
' فى حالة حدوث خطأ ما انتقل الى نقطة البداية
On Error GoTo 0
End Sub
المرفق :
أتمنى أن يكون كودا سهلا و مفيدا لكم فى أعمالكم و برامجكم و أكوادكم بإذن الله تعالى
و لا يفوتنى أن أوجه الشكر للأستاذ أبو راكان الذى أوحى لى بفكرة هذا الكود
لا تنسونا بدعوة بظهر الغيب
تحياتى لكم و كل عام و أنتم أقرب الى الله
Conditional Formatting on Userform by Mokhtar.rar