logo

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



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





08-07-2019 09:44 صباحاً
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10534
رصيد العضو : 3
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36769
الاعجاب : 191
السلام عليكم ورحمة الله وبركاته

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

سنأخذ مثال ونقوم بشرحه لتتضح الصورة

هذا هو الكود الي يمكن وضعه في حدث ورقة العمل ، ويتم ذلك بعمل كليك يمين على اسم ورقة العمل ثم View Code ثم ضع الكود
CODE
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A1:A10")) Is Nothing Or Target.Cells.Count > 1 Then Exit Sub
    
    Application.EnableEvents = False
        Target.value = UCase(Target.value)
    Application.EnableEvents = True
End Sub



السطر الأول
CODE
Private Sub Worksheet_Change(ByVal Target As Range)<br />

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

بالطبع إذا ترك الكود بدون تحديد خلايا معينة سيكون عبء على الملف لأنه مع أي تغيير سينفذ الكود ، وفي رأيي إذا كان الأمر كذلك أفضل استخدام المعادلات (إذا كانت بديلاً للأكواد)
عموماً سيتم تحجيم النطاق باستخدام السطر التالي
CODE
If Intersect(Target, Range("A1:A10")) Is Nothing Or Target.Cells.Count > 1 Then Exit Sub


حيث سيتم الخروج من الإجراء إذا كانت الخلية الهدف لا تقع في النطاق من A1 إلى A10 ، كما سيتم الخروج من النطاق إذا كان عدد الخلايا الهدف أكبر من 1
أي إذا حاولت إحداث تغيير على مجموعة من الخلايا في ورقة واحد لن يتم تنفيذ الكود
فقط سيتم التنفيذ في حالة أن الخلية الهدف (المراد التعديل فيها) تقع ضمن النطاق وتكون خلية واحدة فقط

والدالة Intersect تعني تقاطع (أي تقاطع الخلية الهدف مع النطاق المطلوب التعامل معه)

المطلوب في الكود هو أن يقوم الكود بتحويل حالة الأحرف للكلمات المدخلة في الخلية الهدف لأحرف كبيرة بهذا الشكل
CODE
Target.value = UCase(Target.value)<br />


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

لذا ستجد في الكود سطرين أحدهما يوقف هذه المشكلة
CODE
Application.EnableEvents = False<br />

حيث يعني إيقاف تمكين الأحداث إلى حين اكتمال عمل الكود ، لكي لا ينفذ الكود مرة أخرى أثناء عملية التغيير في الخلية الهدف

وبالطبع لابد من إرجاع هذه الخاصية مرة أخرى لأنه لو تم تجاهل الخاصية لن يعمل الكود في حدث التغير إلا بعد إغلاق الملف وفتحه مرة أخرى أو تنفيذ هذا السطر في النافذة الفورية أو أي إجراء عادي
CODE
Application.EnableEvents = True<br />


أرجو أن تكون المعلومة مفيدة لكم ، وفقني الله وإياكم لكل خير

رابط الملف من هنا

أخوكم في الله / ياسر خليل أبو البراء

أثارت هذه المشاركة إعجاب: hassona229،



look/images/icons/i1.gif تعرف على حدث التغير في ورقة العمل Worksheet Change
  02-08-2019 08:16 صباحاً   [1]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10534
رصيد العضو : 3
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36769
الاعجاب : 191
بارك الله فيكم إخواني على عدم التفاعل الذي لا يشجع على تقديم المزيد ...g

أثارت هذه المشاركة إعجاب: hassona229،



look/images/icons/i1.gif تعرف على حدث التغير في ورقة العمل Worksheet Change
  02-08-2019 04:35 مساءً   [2]
معلومات الكاتب ▼
تاريخ الإنضمام : 08-07-2018
رقم العضوية : 7066
المشاركات : 105
رصيد العضو : 0
الجنس :
تاريخ الميلاد : 28-11-1982
قوة السمعة : 207
الاعجاب : 1
جزاك الله خيرا نتعلم منك الكثير وحضرتك لا تبخل علينا بمعلومة اشكرك على مجهودك الرائع




look/images/icons/i1.gif تعرف على حدث التغير في ورقة العمل Worksheet Change
  02-08-2019 04:52 مساءً   [3]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10534
رصيد العضو : 3
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36769
الاعجاب : 191
وجزيت خيراً أخي الكريم عبد الله ومشكور على مرورك العطر




look/images/icons/i1.gif تعرف على حدث التغير في ورقة العمل Worksheet Change
  03-08-2019 12:51 صباحاً   [4]
معلومات الكاتب ▼
تاريخ الإنضمام : 08-07-2018
رقم العضوية : 7066
المشاركات : 105
رصيد العضو : 0
الجنس :
تاريخ الميلاد : 28-11-1982
قوة السمعة : 207
الاعجاب : 1
والله الحق يقال
انت صاحب الفضل علينا
لا تبخل بعلمك ولا بوقتك
لك منى كل تقدير واحترام وحب
جزاك الله خيرا




look/images/icons/i1.gif تعرف على حدث التغير في ورقة العمل Worksheet Change
  03-08-2019 05:26 صباحاً   [5]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10534
رصيد العضو : 3
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36769
الاعجاب : 191
بارك الله فيك أخي الكريم عبد الله وجزيت خيراً على كلماتك الطيبة وتشجعيك لي




look/images/icons/i1.gif تعرف على حدث التغير في ورقة العمل Worksheet Change
  03-08-2019 07:16 صباحاً   [6]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 2
المشاركات : 1824
رصيد العضو : 0
الجنس :
الدعوات : 21
قوة السمعة : 20048
الاعجاب : 12
موقعي : زيارة موقعي

جزاكم الله خيرا ابوبراء 81




توقيع :الصقر

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


look/images/icons/i1.gif تعرف على حدث التغير في ورقة العمل Worksheet Change
  03-08-2019 07:46 صباحاً   [7]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10534
رصيد العضو : 3
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36769
الاعجاب : 191
وجزيت خيراً أخي وحبيبي حسام 81




look/images/icons/i1.gif تعرف على حدث التغير في ورقة العمل Worksheet Change
  04-08-2019 11:28 صباحاً   [8]
معلومات الكاتب ▼
تاريخ الإنضمام : 15-12-2017
رقم العضوية : 2523
المشاركات : 612
رصيد العضو : 0
الجنس :
تاريخ الميلاد : 13-3-1990
قوة السمعة : 1166
الاعجاب : 4
خيركم من تعلم العلم وعلمه




look/images/icons/i1.gif تعرف على حدث التغير في ورقة العمل Worksheet Change
  04-08-2019 11:49 صباحاً   [9]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10534
رصيد العضو : 3
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36769
الاعجاب : 191
جزاك الله خيراً أخي العزيز مالك ومشكور على مرورك العطر




اضافة رد جديد اضافة موضوع جديد




الكلمات الدلالية
Change ، Worksheet ، العمل ، ورقة ، التغير ، تعرف ،









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

الساعة الآن 03:22 AM