أكاديمية الصقر للتدريب

لوحة التميز الأسبوعي
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
هانى على ali mohamed ali-- لا تميز خلال هذه الفترة لا تميز خلال هذه الفترة منع ادخال البيانات بعدة شروط اكسيل اسئله واجابات


أهلا وسهلا بك زائرنا الكريم في أكاديمية الصقر للتدريب، لكي تتمكن من المشاركة ومشاهدة جميع أقسام المنتدى وكافة الميزات ، يجب عليك إنشاء حساب جديد بالتسجيل بالضغط هنا أو تسجيل الدخول اضغط هنا إذا كنت عضواً .





تلوين الخلية النشطة بكود VBA

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



24-11-2018 11:48 مساء
Eslam Abdullah
مشرف على لغات برمجة آخرى
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 03-10-2017
رقم العضوية : 852
المشاركات : 1580
الدولة : مصر
الجنس : ذكر
تاريخ الميلاد : 1-9-1995
الدعوات : 5
يتابعهم : 0
يتابعونه : 89
قوة السمعة : 10845
موقعي : زيارة موقعي
عدد الإجابات: 6
 offline 

بسم الله والحمد لله والصلاة والسلام على رسول الله
أهلا ومرحبا بكم أخوانى الكرام من جديد
كنت قد قدمت فكرة بسيطة وسهلة الاستخدام لتظليل الخلية النشطه بطريقة آمنة
وهذا الموضوع لمشاهدة الروابط يلزمك التسجيل في أكاديمية الصقر للتدريب


فهل يمكن القيام بهذا الأمر بإستخدام الأكواد فقط
الإجابة نعم لكن هذا سيكون بطريقة احتيالية
لماذا
لأن استخدام الأكواد يغيير من النتائج بشكل جذرى

أولا ما سأفعله هو تلوين الخلية النشطة وليس تظليلها كما بالسابق
حودة (أبو الدهب) بيقولى انت هتتفزلك علينا ما هيا هيا
هرد وأقولوا غشيم احودة

شوف احودة استخدام التنسيق الشرطى دا مجرد لون ظاهر فقط والخلية نفسها لها لون أخر
أما ما سنفعله بالكود هو جعل الخلية تكتسب فعليا هذا اللون اللى هو اللون الاخر فى السطر السابق دا
تمام أبو الدهب أغالى أهو بتقولى تمام اهو biggrin2

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

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static Prng As Range
Static num As Integer
On Error Resume Next

    Prng.Interior.ColorIndex = num
    num = Target.Cells(1).Interior.ColorIndex

Target.Cells(1).Interior.ColorIndex = 6
Set Prng = Target.Cells(1)
End Sub

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


لكن نلاحظ امر فطير قصدى خطير (جعان حبتين بس)
ما هو ذلك الامر اسولوم ذلك الامر بأنى لا اعمل على قاعدة بيانات ثابته
أبا البراء بيقولى يعنى ايه انجز مش بحب الرغى

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

لماذا
لان الخليه تكتسب اللون بالفعل وليس مجرد تظليل
اذا ما الحل
ممكن ببساطه تغير المتغير num بالكود
بخلية تكون عبارة عن رقم اللون السابق وانتهينا
وفى امر فطير (خطير) تانى وهو لو عايز تغير الوان خلايا لازم تقفل الكود عشان الكود هيرجعه لاصله تانى
وامر فطير (خطير) اخير هنا انا استخدمت colorindex لاختيار الالوان ودا ينحصر بين 56 دون حساب الخلية الفارغه
الامر عائد اليك فى اختيار طريقة التلوين ب colorindex او color او rgb

بس كفاية كدا على الكود دا

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

الموضوع هياخد وقت وممكن يوقف الملف يبقى بلاشه
لكن متزعلوش هقولكم على حاجه احلى

الاعضاء: ايه هيا ياسلولم
سولوم: تلونه الخلايا من اليمين واليسار والاعلى والاسفل مثل
ما هو الهدف فى النهايه هو اظهار مكان الخلية فقط

تعالوا احلوين نشوف الكود التانى

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static Prng As Range
Static num(4) As Integer
On Error Resume Next

    Prng.Cells(1).Interior.ColorIndex = num(0)
    Prng.Cells(1).Offset(1).Interior.ColorIndex = num(1)
    Prng.Cells(1).Offset(-1).Interior.ColorIndex = num(2)
    Prng.Cells(1).Offset(, 1).Interior.ColorIndex = num(3)
    Prng.Cells(1).Offset(, -1).Interior.ColorIndex = num(4)

    num(0) = Target.Cells(1).Interior.ColorIndex
    num(1) = Target.Cells(1).Offset(1).Interior.ColorIndex
    num(2) = Target.Cells(1).Offset(-1).Interior.ColorIndex
    num(3) = Target.Cells(1).Offset(, 1).Interior.ColorIndex
    num(4) = Target.Cells(1).Offset(, -1).Interior.ColorIndex

Target.Cells(1).Offset(-1).Resize(3).Interior.ColorIndex = 6
Target.Cells(1).Offset(, -1).Resize(, 3).Interior.ColorIndex = 6

Set Prng = Target.Cells(1)
End Sub

بالكود دا ياغاليين سيتم تلوين الخلية النشطة وما فوقها وما تحتها وما يمينها وما يسارها
وعند ترك النطاق لحال سبيله يعود النطاق السابق لما كان عليه
طبعا لو الموضوع كان كبير شويه كنت هستخدم حلقة تكرارية
بس هو مش كبير فكدا زى الفل
طبعا نفس ملاحظة الكود الاسبق عن غلق وفتح الملف وممكن برضوا تستغنى عن المتغير num
ب 5 خلايا لحفظ الالوان الاوليه للخلايا
وبقيت الملاحظات الفطيره (الخطيره) السابقة متنطبق هنا

ونكتفى بهذا القدر والى اللقاء احبابى فى الله ونلتقى بإذن الله فى موضوع جديد وفى كل جديد
مع اكاديمية الصقر والى اللقاء 81






















25-11-2018 04:43 صباحا
مشاهدة مشاركة منفردة [1]
مالك ماريه
عضو ماسي
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 15-12-2017
رقم العضوية : 2523
المشاركات : 612
الجنس : ذكر
تاريخ الميلاد : 13-3-1990
يتابعهم : 3
يتابعونه : 14
قوة السمعة : 1149
 offline 
look/images/icons/i1.gif تلوين الخلية النشطة بكود VBA
بارك الله فيك وجعلك ان شاء الله من اصحاب الوجوه الناضرة

25-11-2018 05:50 صباحا
مشاهدة مشاركة منفردة [2]
نصر الإيمان
عضو ماسي
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 15-02-2018
رقم العضوية : 4397
المشاركات : 446
الجنس : ذكر
تاريخ الميلاد : 29-12-1985
يتابعهم : 8
يتابعونه : 4
قوة السمعة : 885
 offline 
look/images/icons/i1.gif تلوين الخلية النشطة بكود VBA
جزاك الله خيرا استاذ اسلام - - هل يمكن تلوين الخليه فقط بدون ما تحتها وما فوقها وما عن يمينها وما عن يسارها 

25-11-2018 06:40 صباحا
مشاهدة مشاركة منفردة [3]
الصقر
مدير المنتدى
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 2
المشاركات : 1824
الجنس : ذكر
الدعوات : 21
يتابعهم : 0
يتابعونه : 748
قوة السمعة : 19987
موقعي : زيارة موقعي
عدد الإجابات: 2
 offline 
look/images/icons/i1.gif تلوين الخلية النشطة بكود VBA

جزاكم الله خيرا يا غالى biggrin2142


توقيع :الصقر

اخى العضو الكريم
اذا كنت ترى ان المنتدى مفيد لك
فكن سفيرا لنا بدعوة الاخرين للانضمام معنا
فالدال على الخير كفاعله


25-11-2018 07:18 صباحا
مشاهدة مشاركة منفردة [4]
YasserKhalil
مراقب عام
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10444
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 24
يتابعهم : 1
يتابعونه : 535
قوة السمعة : 36522
عدد الإجابات: 254
 offline 
look/images/icons/i1.gif تلوين الخلية النشطة بكود VBA
بارك الله فيك أخي العزيز إسلام وجزاك الله خيراً
بتشتغل وتنزل موضوعات وإحنا نايمين ..طيب استنى لما نصحى طيب smile

الكود جميل لاشك ..بس فيه مشكلة إنك لما تحفظ الملف وتفتحه تاني يا جميل .. لون آخر خلية كنت واقف عليها هتفضل بنفس اللون !!! 
إنت ذكرت الحل في الموضوع لكن بشكل سريع ..ضع شرح تفصيلي لهذه النقطة 

25-11-2018 07:26 صباحا
مشاهدة مشاركة منفردة [5]
salim
خبير معتمد
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 22-08-2017
رقم العضوية : 43
المشاركات : 853
الجنس : ذكر
تاريخ الميلاد : 1-5-1989
الدعوات : 1
يتابعهم : 13
يتابعونه : 33
قوة السمعة : 6607
عدد الإجابات: 67
 offline 
look/images/icons/i1.gif تلوين الخلية النشطة بكود VBA
صباح الخير للجميع
نفس الموضوع لكن بكود اقصر و يعطي نفس النتيجة

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    With Target
        .Worksheet.Cells.FormatConditions.Delete
        .FormatConditions.Add xlExpression, , "TRUE"
        .FormatConditions(1).Interior.Color = vbYellow
    End With
End Sub

الملق كمثال مرفق

 
 
 
  Colorize_Target.rar   تحميل rar مرات التحميل :(14)
الحجم :(11.964) KB


25-11-2018 07:55 صباحا
مشاهدة مشاركة منفردة [6]
لخضر لخضر
عضو
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 14-10-2018
رقم العضوية : 8371
المشاركات : 12
الجنس : ذكر
تاريخ الميلاد : 17-3-1970
يتابعهم : 0
يتابعونه : 0
قوة السمعة : 42
 offline 
look/images/icons/i1.gif تلوين الخلية النشطة بكود VBA
عمل ممتاز و مجموعة رائعة بارك الله فيكم




الكلمات الدلالية
تلوين ، الخلية ، النشطة ، بكود ،


 










اخلاء مسئولية: يخلى منتدى أكاديمية الصقر للتدريب مسئوليته عن اى مواضيع او مشاركات تندرج داخل الموقع ويحثكم على التواصل معنا ان كانت هناك اى إنتهاكات تتضمن اى انتهاك لحقوق الملكية الفكرية او الادبية لاى جهة - بالتواصل معنا من خلال نموذج مراسلة الإدارة .وسيتم اتخاذ الاجراءات اللازمة.
سياسة النشر: التعليقات المنشورة لا تعبر عن رأي منتدى أكاديمية الصقر للتدريب ولا نتحمل أي مسؤولية قانونية حيال ذلك ويتحمل كاتبها مسؤولية النشر.

الساعة الآن 11:41 مساء