إجمالي مرات مشاهدة الصفحة

الأحد، 1 مايو 2016

دالة التلوين في محرر الأكواد RGB Tutorial

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

أقدم لكم معلومة بسيطة حول الدالة RGB والتي تستخدم في الـ VBA بغرض التلوين ، والدالة لها ثلاثة بارامترات أي ثلاثة مدخلات : الأول هو رقم بين 0 و 255 يمثل اللون الأحمر ، والثاني رقم بين 0 و 255 يمثل اللون الأخضر ، والثالث رقم بين 0 و 255 يمثل اللون الأزرق.
حيث R اختصار لكلمة Red ، و G اختصار لكلمة Green ، و B اختصار لكلمة Blue.

على سبيل المثال إذا أردنا تلوين خلفية خلية باللون الأصفر ، وليكن الخلية A1 ، فيكون سطر الكود بهذا الشكل

Sub Test()
    Range("A1").Interior.Color = RGB(250, 250, 0)
End Sub

حيث أن كلمة Interior تعني التعامل مع الخلفية للنطاق أو الخلية ، وكلمة Color للتعامل مع اللون ، أي أننا نخبر الإكسيل بأننا نريد لون الخلفية للخلية A1 يساوي قيم الدالة RGB والتي تساوي 250 و 250 وصفر


وأخيراً إليكم ملف مرفق فيه أرقام عشوائية بين 0 و 255 في الأعمدة الثلاثة الأولى ، وتظهر الألوان في العمود الرابع ، ويوضع الكود في حدث ورقة العمل .. لتجريب الكود يمكنك الضغط على مفتاح F9 من لوحة المفاتيح ولاحظ تغير الألوان في العمود الرابع

Private Sub Worksheet_Calculate()
    Dim Cel As Range
    For Each Cel In Range("D2:D" & Cells(Rows.Count, 1).End(xlUp).Row)
        Cel.Interior.Color = RGB(Cel.Offset(, -3), Cel.Offset(, -2), Cel.Offset(, -1))
    Next Cel
End Sub

إعداد / ياسر خليل أبو البراء

هناك 11 تعليقًا:

  1. وليش هذه اللفة كلها..
    ادخل الى التبويب تنسيق شرطي وبعد فتح التبويب اختر مقاييس الالوان..ثم حدد قيم الخلايا..وانتهى الموضوع.

    ردحذف
  2. أخي الكريم ليس لغرض من الموضوع مقاييس للألوان وربطها بقيم الخلايا ، الموضوع تعليمي لكيفية استخدام الدالة RGB في محرر الأكواد

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

    ردحذف
  4. الأمر يختلف أخي الكريم حسب الحاجة من تلوين الخلفية .. يمكنك طرح طلبك في موضوع مستقل في منتدى أوفيسنا للإطلاع على ملفك

    ردحذف
  5. استاذنا ياسر . انا لا اطلب شي .. فقط حبيت اوضح فائدة ماقمت بنشره لاخينا فارس

    ردحذف
  6. بارك الله فيك أخي الفاضل التبس علي الأمر فقد اعتقدت أنك تريد عمل ذلك بالتنسيق الشرطي .. الموضوع ليس له علاقة بالأمر أصلاً .. الموضوع يخص الدالة RGB دالة التلوين وكيفية استخدامها في محرر الأكواد
    تقبل تحياتي

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

    ردحذف
  8. وعليكم السلام .. وجزيت خيراً بمثل ما دعوت لي
    تقبل تحياتي

    ردحذف
  9. لسلام عليكم
    اجو المساعد بالحل لدي جدول فيه عمود يحتوي على رقم قطعة الارض (Parcel )
    وعامود اخر فيه بعض اطوال كل قطعة ارض المطلوب ترتيب هذه الاطوال من الاكبر الى الاصغر تحت بعض بس ضمن مجال قطعة الارض الواحدة ..يعني كل قطعة ارض ان رتب اطوال اضلعها . وشيت الاكسل المرفق يبين الحالة https://web.facebook.com/groups/705276892908462/ وجزاكم الله كل خير

    ردحذف
  10. وعليكم السلام
    إن شاء الله سأحاول الإطلاع على المرفق إذا تيسر لي الوقت

    ردحذف
  11. استاذي لنفرض عندنا خلية اريد تلوينها بنفس الوان خلية اخرى تتغير الوانها بفعل التنسيق الشرطي كيف يتم ذلك وشكرا

    ردحذف