اذهب الي المحتوي
أوفيسنا

محمد حجازي

المشرفين السابقين
  • Posts

    771
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    2

محمد حجازي last won the day on سبتمبر 28 2023

محمد حجازي had the most liked content!

السمعه بالموقع

39 Excellent

2 متابعين

عن العضو محمد حجازي

  • تاريخ الميلاد 20 يون, 1981

البيانات الشخصية

  • Gender (Ar)
    ذكر
  • Job Title
    Senior Lecturer
  • البلد
    UK
  • الإهتمامات
    Organisational Psychology

وسائل التواصل

  • MSN
    muhammad_hijazy@hotmail.com
  • Website URL
    www.myhijazz.com
  • ICQ
    0
  • Yahoo
    muhammadhijazy@yahoo.com

اخر الزوار

1,622 زياره للملف الشخصي
  1. السلام عليكم... وأنا أتصفح النت وقع ناظري على هذا الموقع الرائع، فتذكرت الأيام الخوالي بما كانت تحتويه من حلاوة ملأت علي حياتي كلها. لا أخفيكم أن الفرحة ملأت قلبي عندما رأيت الموقع لا يزال يغص بالمشاركات، وأن النقاش جارٍ فيه على قدم وساق. ليس في جعبتي في الوقت الحاضر سوى دروس كنت قد كتبتها منذ فترة لطلاب جامعة دمشق ، أرجو أن تنال إعجابكم. بالتوفيق، 4.zip 5.zip 6.zip 7.zip
  2. السلام عليكم ... أولاً : كل عام وأنتم بخير ثانياً : لقد اشتقت لهذا المنتدى كثيراً ثالثاً : أرجو أن تسامحوني على غيابي ، فظروف المرء و التزاماته قد تفرض عليه ما لا يرضاه رابعاً : أرجو ألا تنسونني من خالص الدعاء . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . مافي خامساً ســـــــــــلام
  3. السلام عليكم ... من المفترض أنك استطعت في الدرس السابق امتلاك بعض الخبرات التي تمكنك من التعامل مع المخططات البيانية بصورة أكثر فاعلية ، و لكن و بالرغم من المعلومات السابقة فقد تواجهك بعض الحالات التي تشعر فيها بأن كليكما (أنت و الاكسل) لا يفهم الواحد منكما الآخر :) . سأورد في هذه المشاركة شرحاً عن بعض المشاكل الشائعة عند مستخدمي المخططات البيانية بواسطة الاكسل ، و التي تظهر عندما تكون عناوين الفئات أرقاماً . قلنا سابقاً بأن معظم مخططات الاكسل (ما عدا بعض المخططات التي تمتاز ببعض الخصوصية كالتخطيط الدائري و التخطيط س و ص المبعثر و ... الخ) تتألف من محورين : محور قيم عامودي يقيس قيم نقاط البيانات المختلفة ، و محور أفقي توجد فيه فئات البيانات التي تعامل كوحدات منفصلة بعيداً عن أي مقياس . و لكن ماذا نعنيه بأن محور الفئات لا يخضع لأي مقياس عند قيامه بتحديد مجالات الفئات ؟ لاحظ أخي الصورة التالية : لاحظ أخي أن فارق السنوات بين الفئات غير متساوي ، ومع ذلك ففد قام الاكسل برصف السنوات على فواصل متساوية (في نقاط متساوية البعد عن بعضها البعض) ، و مرد ذلك إلى أن الاكسل تعامل مع أرقام السنوات على أنها نصوص (مجردة من أي دلالة رقمية) تستخدم للإشارة إلى مجموعة من البيانات . ملاحظة1 : قد يسبب المخطط السابق ذو الفئات المرتبة بشكل غير متجانس في بعض المشاكل عند القراءة ، ومن المحتمل تسببه في تضليل المستخدم الغير متمكن . ملاحظة2 : يمكنك حل المشكلة السابقة باستخدام التخطيط س و ص المبعثر الذي يمتلك محوري قيم ، و تحديد الحد الأعلى و الأدنى لكل محور من أجل الحصول على أفضل قراءة للتخطيط السابق . هناك مشكلة أخرى تظهر عندما تكون عناوين الفئات أرقاماً وهي أن الاكسل لا يستطيع تميزها على أنها عناوين !!!. لفهم هذه المشكلة بشكل واضع نورد المثال التالي : البيانات السابقة هي بيانات افتراضية ... من الجدول السابق نستنتج أن عدد الإناث المتعلمات أكبر من عدد الذكور المتعلمين في جميع السنوات (هذا يدل على أنها بيانات خيالية ) و أن تغير عدد المتعلمين من الفئتين (ذكور و إناث) يكون في نفس الاتجاه . الآن قم بتحديد الجدول السابق و اضغط على المفتاح F11 ليقوم الاكسل بإدراج التخطيط الافتراضي : قد تفاجئ عندما تلاحظ أن الاكسل لم يستطع تحديد عناوين الفئات ، و أنه اعتبرها (عناوين الفئات التي هي بالحقيقة أرقام السنوات) متسلسلة جديدة . السبب في عدم قدرة الاكسل على تمييز البيانات الموجودة في المجال A2:A6 على أنها عناوين الفئات هو أن هذه العناوين موجودة على شكل أرقام . حسناً قد تقول لي أن حل هذه المشكلة بسيط ويكمن في التعامل مع البيانات السابقة كنصوص ، وذلك عن طريق تحديد المجال السابق والنقر على Ctrl+1 ومن ثم اختيار التصنيف Text من التبويب Number ، ولكن مهلاً يا أخي فإن هذه الطريقة لا تجدي نفعاً مع الاكسل ، و الحل يكمن بأحد الطرق التالية : 1. مسح محتوى الخلية A1 ، ومن ثم القيام بإدراج التخطيط . 2. وضع علامة التنصيص المفردة ' في بداية أرقام السنوات ، ومن ثم القيام بإدراج التخطيط . 3. حذف المتسلسلات الإضافية (متسلسلة العام) عن طريق الخيار Source Data الموجود في القائمة Chart ، أو بواسطة أي طريقة أخرى يتيحها لكل الاكسل (سنتحدث عن ذلك لاحقاً) . قد تتفهم السبب في عدم تمكن الاكسل من تحديد عناوين فئات البيانات ، و لكن ما هذه الأرقام التي وضعها الاكسل بدلاً من عناوين الفئات التي لم يستطع إيجادها ؟ . هذه الأرقام هي عبارة عن متوالية حسابية متزايدة تبدأ من الواحد (الحد الأول فيها هو العدد واحد) , و كل عنصر من عناصرها ينتج عن العنصر السابق له بإضافة العدد واحد (أساسها هو العدد واحد أيضاً) . لنقوم الآن بإدراج المخطط السابق عن طريق معالج إدراج التخطيط هذه المرة ، و لنرى ما يمكننا القيام به من أجل تحسين التخطيط الناتج ؛ و سيتم شرح كل ذلك إن شاء الله خطوة بخطوة : قم أولاً بتحديد الجدول السابق و انقر على زر التخطيط الموجود في شريط الأدوات القياسي ، أو قم باختيار الأمر Chart الموجود في القائمة Insert ليظهر لك معالج إضافة تخطيط جديد . هذا المعالج يتألف من أربع خطوات (أربع مربعات حوار) تنتهي بإتمام عملية إدراج التخطيط الجديد ، و البيانات الموجودة في هذه المربعات يمكن تعديلها بسهولة حتى بعد إدراج التخطيط الجديد ، وذلك لأنك ستجدها ضمن القائمة Chart في أي وقت تحتاجها فيه. يمكنك في المربع الأول اختيار نوع التخطيط الذي ترغب بإدراجه : مربع الحوار الثاني متخصص بالبيانات المصدر التي يستقي منها تخطيطك المفترض معلوماته : مربع الحوار هذا يتألف من تبويبين : الأول هو Data Range و قد تعرفنا عليه في الدرس السابق ، و الثاني هو Series : في هذا التبويب و ضمن Series ستجد متسلسلات البيانات الموجودة في تخطيطك المرتقب ، حدد متسلسلة "العام" و قم بحذفها عن طريق الزر Remove . يوجد أيضاً في هذا التبويب عدد من مربعات الإدخال يمكنك من خلالها التحكم ببيانات أي متسلسلة ، و ذلك عن طريق تحديد اسمها و مجال القيم الخاص بها و مجال عناوين الفئات التي تعتمد عليه و ... الخ ؛ و يجب التنويه أيضاً إلى أن عدد هذه المربعات و وظيفتها تتغير بتغير نوع التخطيط الذي تختاره في الخطوة السابقة . الآن و بعد حذف متسلسلة "العام" الزائدة سيظهر لك مربع الحوار السابق بالشكل التالي : الخطوة الثالثة تحتوي على مربع حوار يحتوي على العديد من التبويبات التي تتيح لك إجراء الكثير من التحسينات و الإضافات على تخطيطك . جربها فهي واضحة و مفيدة بشكل كبير : في الخطوة الرابعة يسألك الاكسل عن إذا ما كنت ترغب بإضافة تخطيطك في ورقة تخطيط منفصلة أو ككائن في ورقة عمل موجودة : الآن و بعد انتهائك من الخطوة الرابعة اضغط على مفتاح Finish ليتم إدراج التخطيط حسب المواصفات التي اعتمدتها في الخطوات السابقة : لاحظ أخي أن الفروق بين المتسلسلتين في التخطيط السابق لا تظهر بالشكل المطلوب الذي يمكننا من دراستها بصورة دقيقة ، ويرجع ذلك إلى أن مجال محور القيم كبير بالنسبة لمجال توضع البيانات فيه ، ولذلك فإنه لا مناص هنا من تضيق مجال محور القيم بإتباع ما يلي : حدد محور القيم (المحور العامودي) ومن ثم كليك يمين على هذا المحور و اختار Format Axis لتظهر لك نافذة . ضمن التبويب Scale ستجد الخيارات التالية : قم بإزالة التحديد (من أجل عدم تمكين الاكسل من تحديد قيم هاذين المربعين بشكل تلقائي) من جانب المربعين Minimum و Maximum و أدخل فيهما القيم الجديد كما هو موضع في الشكل السابق . بالإضافة للتعديل السابق ، قمت بإجراء بعض التعديلات الشكلية على عناصر التخطيط السابق و ذلك حتى يظهر بالصورة التالية : هل تشاطرني الرأي بأن هذا التخطيط هو أجمل و أسهل للفهم من التخطيط السابق ؟. (y) أرجو أن أكون قد وفقت في طرح شيء مفيد . مرفق مثال للتخطيط الناتج : تحياتي Chart2.rar
  4. السلام عليكم ... الطريقة تعتمد على الأسلوب CurrentRegion ، و هذا الأسلوب يرجع مجال الخلايا المتصلة . جرب الكود التالي : Sub MoveDown() ActiveSheet.Cells(ActiveCell.CurrentRegion.Rows.Count + 1, ActiveCell.Column).Select End Sub الكود السابق يقوم بتحديد الخلية الموجودة في نهاية كتلة البيانات المتصلة و في عامود الخلية النشطة . يمكنك تحديد كتلة البيانات المرغوبة عن طريق تنشيط خلية ضمن هذه الكتلة .
  5. السلام عليكم ... يمكنك عمل ذلك كما هو موجود في الرابط التالي : http://www.officena.net/ib/index.php?showtopic=8915 و ذلك مع الانتباه إلى تغيير الشرط الموجود في العامود C إلى ما يلي : =IF(A2=0;"";COUNTA(A$2:A2))
  6. السلام عليكم ... تستطيع عمل ذلك مع الحدث Deactivate ، ضع الكود التالي في الورقة المطلوبة : Private Sub Worksheet_Deactivate() If Me.Range("A1").Value = "" Then Me.Activate End Sub الكود السابق لا يسمح لك بالانتقال إلى أي صفحة أخرى مادامت الخلية A1 فارغة . يمكنك زيادة عدد الشروط حسب الرغبة . تحياتي
  7. السلام عليكم ... بالنسبة لدوال قواعد البيانات ، مشروحة في الرابط السابق . بالنسبة للدالة SUMIF راجع الرابط التالي : http://office.microsoft.com/ar-sa/assistan...2092921025.aspx
  8. السلام عليكم ... هناك طريقة لعمل ذلك و لكنها معقدة بعض الشييء . هذه الطريقة تعتمد على العامودان C و D (يمكن إخفائهما). راجع المرفق لتتعرف على الطريقة . RE.rar
  9. السلام عليكم ... راجع الرابط التالي : http://www.officena.net/ib/index.php?showtopic=46
  10. السلام عليكم ... جرب الكود التالي : Sub MySelect() Sheets("Sheet1").Range(Cells(1, 2), Cells(Sheets("Sheet1").Range("A1").Value, 2)).Select End Sub طبعاً يمكن تطويره ليغطي كافة الاحتمالات الممكنة لقيمة الخلية A1.
  11. السلام عليكم ... راجع أيضاً الرابط التالي : http://www.officena.net/ib/index.php?showtopic=4376
  12. السلام عليكم ... و ضعنا في الخلية E2 الصيغة التالية : =IF(B3<>0;ROW();"") الهدف من الصيغة السابقة هو إدراج رقم الصف الذي توجد فيه هذه الصيغة ، وذلك إذا كانت القيمة المقابلة لها في العامود B لا تساوي الصفر . (الصيغة السابقة تطبق على كامل العامود E و ذلك بتعبئتها على هذا العامود) الصيغة الموجودة في الخلية D3 أعتقد أنها مفهومة : =IF(AND(B3<>0;B2<>0);B3-B2/C3*20;"") أما الخلايا D4 و ما بعدها تعتمد على نفس الصيغة : =IF(AND(B4<>0;C4<>0);(B4-INDIRECT("B"&MAX(E$3:E3)))/C4*20;"") (الصيغة السابقة تطبق على كامل الخلايا الواقعة تحت الخلية D4 و ذلك بتعبئتها على هذه الخلايا) الدالة INDIRECT تستخدم لإرجاع قيمة مرجع محدد بسلسلة نصية . المرجع المرغوب (قيمة أول خلية مليئة) موجود طبعاً بالعامود B و بالسطر المحدد بالرقم المستخرج من الدالة MAX . بالنظر إلى العامودين B و E ستجد أن كل خلية مليئة في العامود B سيقابلها رقم سطرها في العامود E ، أما الخلايا الفارغة في العامود B سيقابلها خلايا فارغة أيضاً في العامود E . ما أريد قوله هو أننا نستطيع الحصول على قيمة أول خلية مليئة عن طريق إرجاع مرجعها الذي يتألف من الحرف B و أكبر رقم من المجال الموجود في العامود E والذي يعلو الخلية الحالية .
  13. السلام عليكم ... القاعدة Validation تعمل معي تمام ، راجع المرفق . بالنسبة لكود الـ VB زودني بالملف لأضيف الكود له ، وذلك لأنه يجب أخذ توضع البيانات في الاعتبار عند كتابة الكود . ______.rar
×
×
  • اضف...

Important Information