halwim قام بنشر أكتوبر 4, 2006 قام بنشر أكتوبر 4, 2006 بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته توجد في المرفق صفوف قمت بتلوينها يدويا - المطلوب أن يتم التلوين بشكل تلقائي يعني بمجرد وضع رقم (1) مثلا في أي صف من العمود (A) يتحول لون صف الجدول إلى اللون الأحمر وهكذا إذا وضعنا رقم (2) يتحول إلى اللون الأخضر وإذا وضعنا رقم (3) يتحول الى اللون الأزرق، كما هو موضح في هذه الألوان، ولكن نريد تطبيق هذه الفكرة على باقي الجدول بصورة آلية . المطلوب بشكل أوضح في المرفق أرجو التعديل عليه وشكرا. تحياتي color_auto.rar
علي السحيب قام بنشر أكتوبر 4, 2006 قام بنشر أكتوبر 4, 2006 يتم ذلك عن طريق الكود التالي: Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next TC = Target.Column TR = Target.Row T = Target If TC = 1 And TR > 1 And TR < 31 Then For C = 1 To 6 If T = "" Then Cells(TR, C).Interior.ColorIndex = xlNone If T = 1 Then Cells(TR, C).Interior.ColorIndex = 3 If T = 2 Then Cells(TR, C).Interior.ColorIndex = 50 If T = 3 Then Cells(TR, C).Interior.ColorIndex = 41 Next End If End Sub ________________.rar 1
halwim قام بنشر أكتوبر 5, 2006 الكاتب قام بنشر أكتوبر 5, 2006 بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته ماشاء الله تبارك الله ..... أستاذ علي السحيب ألف شكر وتحية لك ،،،،،،،،، الله يجعل جميع مساعداتك فى ميزان حسناتك . بس عندي ملاحظة / ضع رقم 1 مثلا في الخلية A2 ورقم 2 في الخلية A3 سوف تتلون الصفوف وهذا هو المطلوب ولكن بعد ذلك جرب حدد الخليتين A2 و A3 معا في وقت واحد ثم إضغط زر دليت سوف تلاحظ أن صف رقم 2 تحول إلى اللون الأزرق !! لماذا ؟ أرجو التعديل وشكرا جزيلا تحياتي
علي السحيب قام بنشر أكتوبر 5, 2006 قام بنشر أكتوبر 5, 2006 تم إضافة التعديل اللازم على الكود: Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo Ali TC = Target.Column TR = Target.Row T = Target If TC = 1 And TR > 1 And TR < 31 Then For C = 1 To 6 If T = "" Then Cells(TR, C).Interior.ColorIndex = xlNone If T = 1 Then Cells(TR, C).Interior.ColorIndex = 3 If T = 2 Then Cells(TR, C).Interior.ColorIndex = 50 If T = 3 Then Cells(TR, C).Interior.ColorIndex = 41 Next End If Exit Sub Ali: If Err <> 0 Then Selection.EntireRow.Interior.ColorIndex = xlNone End Sub ________________.rar
halwim قام بنشر أكتوبر 6, 2006 الكاتب قام بنشر أكتوبر 6, 2006 السلام عليكم ورحمة الله وبركاته ألف شكر وشكر على التعديل ،،،،،،،،،،، أستاذي الفاضل أبا حسين كرمك وسخائك يجعلني أطمح في المزيد ، أرغب في عمل طريقة جديدة لتلوين السجلات بحيث تكون ألوان جميع الصفوف المستخدمة محصورة بين لونين إلى ما لا نهاية فمثلا عندما يبدء المستخدم من صف معين وليكن أي صف فبمجرد أن يكتب أي شيء فيه يتحول لونه إلى أحمر مثلا ثم إذ ا كتب في الصف الذي بعده يبقى بدون لون وإذا كتب في صف يعتبر ثالث لماقبله يعطيه اللون الأحمر وهكذا إلى ما لا نهاية يتم تشكيل الصفوف يعني صف بلون وصف بدون لون أو بلون آخر وهكذا . وللمعلومية سبق أن رأيت هذه الفكرة في هذا المنتدى معموله بأكسس . أتمنى يكون لديكم حل لهذه الفكرة وشكرا تحياتي
علي السحيب قام بنشر أكتوبر 7, 2006 قام بنشر أكتوبر 7, 2006 الصيغتان التاليتان في التنسيق الشرطي يقومات بهذه المهمة: هذه الصيغة تعمل مع الصفوف الفردية: =AND($A1<>"",MOD(ROW(),2)=1) وهذه الصيغة تعمل مع الصفوف الزوجية: =AND($A1<>"",MOD(ROW(),2)=0) وإذا أردنا أن يكون الصف التالي بدون تنسيق نستخدم صيغة واحدة فقط من الصيغتان المُشار إليهما. أرجوأ أن يكون هذا ما تريد، ___________________________________________.rar
halwim قام بنشر أكتوبر 7, 2006 الكاتب قام بنشر أكتوبر 7, 2006 السلام عليكم ورحمة الله وبركاته أستاذ علي ، شكرا لك على هذا العطاء والأداء المتميز،،،،،،،، الطريقة هي هي هي عين المطلوب ،،،،،،،، فقط أريد معرفة مكان وجود الكودين المذكورين (لتلوين الصفوف الفردية والزوجية) ، فتحت الملف و بحثت عن الأكواد في محرر الفيجول فلم أجد شيء حاولت التطبيق من خلال وضع الكود في شريط الصيغة فلم ينفع . ثم كيف أغير اللون إن أردت غير الأخضر ، وكيف أوسع نطاق الصف بحيث يمتد في نطاق عشر خلايا يتكون منها الصف مثلا ، أو صف كامل، ولو بينتم الطريقتين مع مكان الأكواد أكون شاكرا . شكرا لكم تحياتي
علي السحيب قام بنشر أكتوبر 7, 2006 قام بنشر أكتوبر 7, 2006 الصيغتان التاليتان في التنسيق الشرطي يقومات بهذه المهمة: هذه الصيغة تعمل مع الصفوف الفردية: =AND($A1<>"",MOD(ROW(),2)=1) وهذه الصيغة تعمل مع الصفوف الزوجية: =AND($A1<>"",MOD(ROW(),2)=0) وإذا أردنا أن يكون الصف التالي بدون تنسيق نستخدم صيغة واحدة فقط من الصيغتان المُشار إليهما. أرجوأ أن يكون هذا ما تريد،
halwim قام بنشر أكتوبر 7, 2006 الكاتب قام بنشر أكتوبر 7, 2006 السلام عليكم ورحمة الله وبركاته شكرا لك على المرور والتنبيه ،،،،،،، والله لا أدري كيف غاب عن ذهنى ، التنسيق الشرطي سبحان الله !! بالنسبة لإستفساراتي السابقة : كيف أوسع نطاق الصف بحيث يمتد في نطاق عشر خلايا يتكون منها الصف مثلا قد نجحت في عمل توسيع لنطاق تلوين الصف ، وذلك عن طريق السحب الأفقي لآخر خلية يوجد فيها الكود من الصف الأول ، وهذه الطريقة متعبة نوعما ، فمن أجل تعميمها على كامل الصفوف يلزك السحب من الصف رقم (1) وحتى الصف رقم (65536) ألا يوجد طريقة أسهل لتعميم عمل الكود على كامل الورقة ؟؟ أيضا حاولت البحث عن مكان بالكود لكي أضع فيه رقما يمثل صف كامل من يمين المستند إلى يساره فلم أرى موضع يناسب ذلك ؟؟ ثم أني ركزت محاولا فهم الكود ، وعلاقته بدالة الباقي من القسمة mod والفراغ المقوس في الدالة row فلم أستوعب العلاقة . تحياتي
علي السحيب قام بنشر أكتوبر 8, 2006 قام بنشر أكتوبر 8, 2006 قد نجحت في عمل توسيع لنطاق تلوين الصف ، وذلك عن طريق السحب الأفقي لآخر خلية يوجد فيها الكود من الصف الأول ، وهذه الطريقة متعبة نوعما ، فمن أجل تعميمها على كامل الصفوف يلزك السحب من الصف رقم (1) وحتى الصفرقم (65536) ألا يوجد طريقة أسهل لتعميم عمل الكود على كامل الورقة ؟؟ 1- قم بتظليل الخلايا التي تحتاجها من الصف الأول والتي تم تطبيق التنسيق الشرطي عليها ثم أنسخها. 2- قم بتضليل الخلايا المقابة لها من الصف الثاني. 3- إضغط على Shift + Ctrl وأضغط على السهم السفلي مرتين وسيتم إختيار كامل الصفحة. 4- إضغط على المنطقة المضللة بزر الفأرة الأيمن وأختر لصق خاص ثم لصق التنسيق. وبهذا سوف يتم نسخ التنسيق على كامل الخلايا. ثم أني ركزت محاولا فهم الكود ، وعلاقته بدالة الباقي من القسمة mod والفراغ المقوس في الدالة row فلم أستوعب العلاقة . الصيغة التالية تعطيك رقم الصف الذي توجد به الصيغة: =ROW() الصيغة الأولى في التنسيق الشرطي تقوم بقسمة رقم الصف على 2 .. وتستخرج الباقي .. فإذا كان رقم الصف فردي فإن الباقي سوف يكون 1 .. وبهذا يتحقق الشرط .. وإذا كان رقم الصف زوجي سوف يكون الباقي 0 ..وبهذا لن يتحقق الشرط. والعكس صحيح بالنسبة للصيغة الثانية،
halwim قام بنشر أكتوبر 8, 2006 الكاتب قام بنشر أكتوبر 8, 2006 لا أملك سوى الدعاء لك بالجنة والمغفرة والرضوان . أستاذ علي ...... بعض الأحيان نحتاج لاستخدام ثلاثة شروط تنسيقية على الخلايا وهذا يصطدم بوجود صيغة شرطية أو صيغتين للتلوين التلقائي للصفوف . ألا يمكنكم تحويل الصيغة إلى كود ، بحيث يبقى التنسيق الشرطي متاحا بالثلاثة شروط ؟؟ شكرااا مقدما تحياتي
halwim قام بنشر أكتوبر 8, 2006 الكاتب قام بنشر أكتوبر 8, 2006 لا أملك سوى الدعاء لك بالجنة والمغفرة والرضوان . أستاذ علي ...... بعض الأحيان نحتاج لاستخدام ثلاثة شروط تنسيقية على الخلايا وهذا يصطدم بوجود صيغة شرطية أو صيغتين للتلوين التلقائي للصفوف . ألا يمكنكم تحويل الصيغة إلى كود ، بحيث يبقى التنسيق الشرطي متاحا بالثلاثة شروط ؟؟ شكرااا مقدما تحياتي المعذرة على كثرة الإستفسارات ،،،،،،،،،، كثيرا ما أرى الدالة AND في كثير من الصيغ ولا أعرف وظيفتها ولماذا تستخدم ، لذلك أرى من المناسب شرحها بإعطائنا مثال، وليكن ذلك المثال هو الصيغة التي وضعتموها للتلوين التلقائي أعلاه . وشكرا
علي السحيب قام بنشر أكتوبر 9, 2006 قام بنشر أكتوبر 9, 2006 (معدل) بعض الأحيان نحتاج لاستخدام ثلاثة شروط تنسيقية على الخلايا وهذا يصطدم بوجود صيغة شرطية أو صيغتين للتلوين التلقائي للصفوف . ألا يمكنكم تحويل الصيغة إلى كود ، بحيث يبقى التنسيق الشرطي متاحا بالثلاثة شروط ؟؟ شاهد المرفق والذي يحتوي على الكود التالي الذي يمكنك من تحديد 11 حالة أو أكثر للتنسيق الشرطي: Private Sub Worksheet_Change(ByVal Target As Range) Dim MyRange As Range Dim Cell As Range Set MyRange = [B3:F15] For Each Cell In MyRange If Cell = "Ali" Then Cell.Interior.ColorIndex = 5 If Cell = "Sameer" Then Cell.Interior.ColorIndex = 10 If Cell = "Mhmed" Then Cell.Interior.ColorIndex = 15 If Cell = "Saleh" Then Cell.Interior.ColorIndex = 20 If Cell = "Hassan" Then Cell.Interior.ColorIndex = 25 If Cell = "Hamad" Then Cell.Interior.ColorIndex = 30 If Cell = "Khalid" Then Cell.Interior.ColorIndex = 35 If Cell = "Moneer" Then Cell.Interior.ColorIndex = 40 If Cell = "Mahdi" Then Cell.Interior.ColorIndex = 45 If Cell = Date Then Cell.Interior.ColorIndex = 50 If Cell = "Yousef" Then Cell.Interior.ColorIndex = 55 Next End Sub كثيرا ما أرى الدالة AND في كثير من الصيغ ولا أعرف وظيفتها ولماذا تستخدم ، لذلك أرى من المناسب شرحها بإعطائنا مثال، وليكن ذلك المثال هو الصيغة التي وضعتموها للتلوين التلقائي أعلاه . AND .. تعني و .. وهي تستخدم لدمج شرطين أو أكثر حتى 32 شرط .. لتحقق نتيجة معينة .. كأن نقول :: إذا كان الجنس ذكر وإذا كان العمر أكبر من أو يساوي 18 .. فالنتيجة (يستحق مكافأة) - وإلا فإنه (لا يستحق مكافأة) ..كما في الصيغة التالية: =IF(AND(A4="ذكر",B4>=18),"يستحق مكافأة","لا يستحق مكافأة") Conditional_Formatting_in_VBA.rar تم تعديل أكتوبر 9, 2006 بواسطه علي السحيب
halwim قام بنشر أكتوبر 10, 2006 الكاتب قام بنشر أكتوبر 10, 2006 السلام عليكم ورحمة الله وبركاته أخي أستاذعلي السحيب تحياتي الكثيرة لك ،،،،،، شكرا على إيضاح الدالة AND . شاهد المرفق والذي يحتوي على الكود التالي الذي يمكنك من تحديد 11 حالة أو أكثر للتنسيق الشرطي: للأسف لم أعرف كيف أستفيد من الكود المذكور ، ولم أستطيع تطبق أكثر من 3 شروط تنسيقية ،فقد ذهبت لعمل تنسيق شرطي كالمعتاد من قائمة تنسيق ثم تنسيق شرطي ووضعت شرطا ثم ضغطت زر إضافة فانبثق مكان ثاني لوضع تنسيق شرطي ثاني ثم أيضا ضغطت زر إضافة فانبثق مكان ثالث ووضعت تنسيق شرطي إلى هنا تمت الثلاث شروط بنجاح ، وقد حاولت إضافة تنسيق رابع ولكن زر إضافة أصبح باهتا غير متاح، المطلوب تفعيله لكي نتمكن من إضافة تنسيق رابع وخامس ... الخ هذا مقصودي ، وإن كان الكود المذكور يؤدي هذا أتمنى لو تعطينا القليل من وقتك الثمين لشرح كيفية ذلك . تحياتي
علي السحيب قام بنشر أكتوبر 10, 2006 قام بنشر أكتوبر 10, 2006 زر الإضافة الذي تحدثت عنه هو ضمن الخصائص الأساسية لبرنامج الإكسل ولا نستطيع التعديل عليه .. ما قصدته في المرفق هو أنك تستطيع وضع شروط للتنسيق الشرطي للخلايا عن طريق الكود ( يتم تحديد القيم والتنسيق داخل الكود وليس في التنسيق الشرطي الموجود في القائمة تنسيق ). ولتوضيح أكثر .. حدد لي الشروط التي لديك (أكثر من 3 شروط) وسأقوم بتطبيقها لك عن طريق الكود.
halwim قام بنشر أكتوبر 11, 2006 الكاتب قام بنشر أكتوبر 11, 2006 (معدل) أستاذي الفاضل مع غض النظر عن الكود الذي يعمل الزيادة للتنسيقات ، هل يمكن جعل هذه الصيغة : =AND($A1<>"",MOD(ROW(),2)=1) أن تعمل ضمن كود يوضع في محرر الفيجول ؟؟ أو هل يمكنم إنشاء كود يقوم مقامها تماما ؟؟ ولعلك لازلت تتذكر الكود الذي وضعت في المرفق الموجود بالمشاركة رقم (5) من هذا الموضوع ، فهو كود ومع ذلك يقوم بتغير الألوان . تحياتي تم تعديل أكتوبر 11, 2006 بواسطه halwim
علي السحيب قام بنشر أكتوبر 11, 2006 قام بنشر أكتوبر 11, 2006 (معدل) الكود التالي يقوم بعملية التنسيق الشرطي كما في مشاركتي الأولى في هذا الموضوع .. ولكن هذه المرة يتم التنسيق الشرطي عن طريق الكود وليس عن طريق الصيغ كما في المشاركة المُشار إليها: Private Sub Worksheet_Change(ByVal Target As Range) TR = Target.Row Application.ScreenUpdating = False If Cells(TR, 1) <> "" And Cells(TR, 1).Row Mod 2 = 0 Then For C = 1 To 7 Cells(TR, C).Interior.ColorIndex = 34 Cells(TR, C).Font.ColorIndex = 41 Borders Next ElseIf Cells(TR, 1) <> "" And Cells(TR, 1).Row Mod 2 = 1 Then For C = 1 To 7 Cells(TR, C).Interior.ColorIndex = 41 Cells(TR, C).Font.ColorIndex = 34 Borders Next Else For C = 1 To 7 Cells(TR, C).Interior.ColorIndex = xlNone NonBorders Next End If Application.ScreenUpdating = True End Sub شاهد المرفق، ___________________________________________.rar تم تعديل أكتوبر 11, 2006 بواسطه علي السحيب
halwim قام بنشر أكتوبر 11, 2006 الكاتب قام بنشر أكتوبر 11, 2006 السلام عليكم بالنسبة للمرفق الأخير ، يفتح الملف بشكل عادي ولكن بمجرد الكتابة في أي خلية تخرج رسالة فيها زرين : موافق و تعليمات ، وعند الضغط على زر موافق يفتح محرر الفيجول بيسك وفيه سطر مضلل بالأصفر هو : Private Sub Worksheet_Change(ByVal Target As Range) وسطر صغير مضلل بالأزرق هو هذه الكلمة فقط : Borders وهكذا لا أتمكن من كتابة أي شيء في المستند فعند إغلاق محرر الفيجول بيسك ، إذا كتبنا أي شيء في المستند تخرج الرسالة السابقة مرة أخرى ونعو للمحرر من جديد وهكذ . هذا بالنسبة للملاحظ على المرفق الأخير ،،،،،،، وعندي طلب صغير وبسيط وأظن أن لديكم القدرة على تنفيذ هذا الطلب ، حيث لاحظت على المرفقات ( التي قبل المرفق الأخير ) أن التلوين لا يتم إلا بالكتابة في عمود A والمطلوب أن يتم التلوين بمجرد الكتابة في أي خلية من صف الجدول المشمول بالصيغ ، هذا مطلب أول . المطلب الثاني : أن تتم صياغة معادلة تشمل صف كامل بحيث يتم التلوين بمجرد الكتابة في أي أخلية مطلقا ، فيتلون الصف بناء على مكان الخلية المكتوب فيها ، فإن كانت هذه الخلية تقع في صف زوجي أخذ الصف لون معين وإن كانت تقع في صف فردي أخذ الصف لون آخر وهكذا . تحياتي
omar elhosseini قام بنشر أكتوبر 12, 2006 قام بنشر أكتوبر 12, 2006 بسم الله الرحمن الرحيم الاخ halwim بعد التحية قم بأعادة تحميل الملف مرة اخرى فقد قام الاستاذ علي السحيب بتغير اسم الموديل الذى كان يتسبب فى هذا الخطأ تحياتى لك
علي السحيب قام بنشر أكتوبر 12, 2006 قام بنشر أكتوبر 12, 2006 (معدل) وعندي طلب صغير وبسيط وأظن أن لديكم القدرة على تنفيذ هذا الطلب ، حيث لاحظت على المرفقات ( التي قبل المرفق الأخير ) أن التلوين لا يتم إلا بالكتابة في عمود A والمطلوب أن يتم التلوين بمجرد الكتابة في أي خلية من صف الجدول المشمول بالصيغ ، هذا مطلب أول . المطلب الثاني : أن تتم صياغة معادلة تشمل صف كامل بحيث يتم التلوين بمجرد الكتابة في أي أخلية مطلقا ، فيتلون الصف بناء على مكان الخلية المكتوب فيها ، فإن كانت هذه الخلية تقع في صف زوجي أخذ الصف لون معين وإن كانت تقع في صف فردي أخذ الصف لون آخر وهكذا . شاهد المرفق، ___________________________________________.rar تم تعديل أكتوبر 12, 2006 بواسطه علي السحيب
halwim قام بنشر أكتوبر 13, 2006 الكاتب قام بنشر أكتوبر 13, 2006 (معدل) بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته ... أستاذنا الفاضل .... أباحسين ، ماشاء الله تبارك الله ، أربع طرق لتلوين الصفوف تلقائيا ، وفي ملف واحد ............. نعم هذا هو ما كنت أتمناه بالظبط سلمت يداك . بالنسبة للصيغة ممكن إيضاح عمل الدالة COUNTA أو شرح الصيغة معها ؟ =AND(COUNTA(1:1)>0;MOD(ROW();2)=1) مع بيان الفروقات بينها وبين الصيغة التالية يعني مالفرق بين الصيغتين : =AND(COUNTA($A1:$G1)>0;MOD(ROW();2)=1) تحياتي . تم تعديل أكتوبر 13, 2006 بواسطه halwim
علي السحيب قام بنشر أكتوبر 13, 2006 قام بنشر أكتوبر 13, 2006 الدالة COUNTA تقوم بحساب عدد الخلايا الغير فارغة في معيار معين سواء كانت تلك الخلايا تحتوي على أرقام أو حروف. بالنسبة لإستخدام الدالة المذكورة في الصيغة الأولى فهي تقوم بحساب عدد الخلايا الغير فارغة في الصف بأكمله .. فإذا كانت أكبر من 0 .. فهذا يعني أن الشرط قد تحقق. أما بالنسبة للصيغة الثانية فهي تقوم بحساب عدد الخلايا الغير فارغة من العمود A وحتى العمود G فقط.
halwim قام بنشر أكتوبر 14, 2006 الكاتب قام بنشر أكتوبر 14, 2006 السلام عليكم ورحمة الله الأخ الكريم أستاذ أباحسين ،، الله يبيض وجهك ، ويطول عمرك ويرحم والديك ، شكرا لك على جهودك في الموضوع . تحياتي
halwim قام بنشر نوفمبر 5, 2006 الكاتب قام بنشر نوفمبر 5, 2006 بسم الله الرحمن الرحيم السلام عليكم ورحمة الله ،، أستاذي الكبير ،، أبا حسين تحياتي لك طرأ على ذهني فكرة أود الإستفسار بخصوصها ، لاحظت أن الصفوف التي يتم تلوينها عن طريق الكود هي إلى حدما تشبه التلوين اليدوي من خلال تنسيق خلايا ثم نقش (لون الخلفية) بودي أن أعرف حقيقة عمل الكود هل هو يقوم بنفس الفكرة من خلال ضغط زر الماوس الأيمن ثم اختيار "تنسيق خلايا" ، ثم اختيار التبويب " نقش " بحيث يتم ذلك نيابة عن المستخدم بالكود ؟ ثم مالفرق بين تلوين الكود وبين التلوين اليدوي من " تنسيق خلايا " ؟ وزبدة المقال : وجدت طريقة تقوم بالتلوين وبوظائف ربما تكون أكثر شمولية من الكود ومن "تنسيق خلايا " هذه الطريقة يمكن تطبيقها من خلال تحدي الصفوف المراد تلوينها ، ثم من قائمة " تحرير " اختر "بحث" أوضغط ctrl+f ثم اختر تبويب " استبدال " ثم اختر الزر " تنسيق " أو إضغط على السهم الصغير الموجود في حافة هذا الزر وسترى خيارين " تنسيق " و " اختيار التنسيق من الخلية " وهناك خيارات يمكن تطبيقها على أي جزء من المستند في لحظات دون تعب وعناء . بقي أن اسأل هل الكود مصمم على الإستفادة من هذه الطريقة ؟ بحيث يبحث عن أي تنسيق تلقائي ويستبدله بتنسيق ملون ؟ تحياتي
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.