اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

محمد حجازي

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

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

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

  • Days Won

    2

كل منشورات العضو محمد حجازي

  1. السلام عليكم .... يا أخي محمد طاهر ، حسب ما فهمت أن سؤال الأخ محمود عبد العزيز هو عن كيفية وضع help للدالة المصممة ... وهذا الموضوع شيق وحرك فضولي ، لذلك أريد منك إذا تكرمت أن تشرح لي : 1. كيفية إدراج تلميحة تظهر الشكل لعام للدالة ، فعلى سبيل المثال في شريط الصيغة و عند وضع مؤشر الكتابة في منتصف الدالة SUM تظهر تلميحة توضح الشكل العام و مدخلات هذه الدالة 2. كيفية إدراج تعليمات للدالة ، ففي الناقذة Insert Function توجد وصلة تحت اسم Help on this Function عند الضغط عليها تظهر التعليمات الخاصة بهذه الدالة . ولكن في الدوال التي من صنعنا تظهر الرسالة التالية عند الضغط على الوصلة : No help available أرجو التوضيح .... مع خالص تحياتي
  2. السلام عليكم .... مشكلتك من المشاكل التي واجهتني كثيراً منذ بداية عملي على الاكسل ، ولحلها اتبعت الطريقة التالية : بفرض أن البيانات موجودة في المجال A2:E6 وذلك بتخصيص كل نوع من البيانات لعامود (حقل) معين وذلك على الترتيب التالي : الأسم العمر الجنس الراتب الرقم لعمل القائمة المنسدلة نحدد أي خلية خارج جدول البيانات ولتكن الخلية G2 ونختار Validation من القائمة Data لتظهر لك نافذة ، حدد الخيار List من المربع Allow و ضع نطاق البيانات A2:A6 في المربع Source الآن لإرجاع العمر بالاعتماد على الاسم الموجود في الخلية G2 نكتب الصيغة التالية في أي خلية : =VLOOKUP(G2;A2:E6;2;FALSE) ولإرجاع العمر بالاعتماد على الاسم الموجود في الخلية G2 نغير الرقم في الدالة VLOOKUP و الموجود في الخانة الثالثة إلى 3 ، وهكذا بالنسبة لبقية البيانات ... لكن تبقى لدينا مشكلة واحدة ، وهي أن هذه الدالة ترجع قيمة الخطأ #N/A عندما تكون القيمة التي نبحث عنها غير موجودة في نطاق البيانات A2:A6 ، ولحل هذه المشكلة نطبق الصيغة التالية : =IF(ISNA(VLOOKUP(G2;A2:E6;2;FALSE))=TRUE;"";VLOOKUP(G2;A2:E6;2;FALSE)) بالتوفيق ...
  3. السلام عليكم ورحمة الله وبركاته،، جرب الكود التالي : If Worksheets("Sheet1").AutoFilterMode Then Worksheets("Sheet1").Range("A1").AutoFilter End If
  4. نسيت أن أخبرك أن تنسيق الخلية B1 يجب أن يكون تنسيق " نص "
  5. السلام عليكم ... إليك الصيغة التالية : =TIMEVALUE(B1)*C1*24 ضع في الخلية B1 المدة الزمنية وضع في الخلية C1 كلفة الساعة الواحدة
  6. السلام عليكم ... جرب الأكواد التالية : MsgBox Selection.Address MsgBox Selection.Row MsgBox Selection.Column
  7. السلام عليكم .. يمكنك ذلك عن طريق كود الـ VBA وبالتحديد التعليمة AutoFilter هذه أول مرة أستخدم فيها هذه التعليمة ، فإذا كان هناك بعض الأخطاء في شرحي أرجو من الأعضاء التصحيح ... انظر إلى الكود التالي : Worksheets("Sheet1").Range("A1").AutoFilter Field:=2, Criteria1:="1" الكود السابق يقوم بعمل التصفية على البيانات الموجودة في الورقة Sheet1 و المتضمنة للخلية A1 ، وهذه التصفية تنفذ بالاعتماد على حقل البيانات الثاني وبالنسبة للقيمة 1 (كما كنت تريد)
  8. نحدد الأحرف المطلوبة ومن ثم نختار الخيار Cells من القائمة Format . ومن علامة التبويب Font نحدد الخيار Superscript إذا كنا نريد الأحرف علوية ، ونحدد الخيار Subscript إذا كنا نريد الأحرف سفلية
  9. اسلام عليكم ... الحل كما ذكر أخواني ، اختر الخيار Conditional Formatting من القائمة Format لتظهر لك نافذة : غير العبارة الموجودة في المربع على اليسار إلى Formula Is ومن ثم أدخل الشرط السابق، ومن ثم اضغط على الزر Format وضع التنسيق الذي تريد أن يطبق عند تحقق الشرط . لوضع شرط آخر اضغط على الزر Add وهكذا ....
  10. السلام عليكم ... إضافة رائعة أخي smart والباب مفتوح للجميع مادام الهدف هو نشر المعرفة .
  11. السلام عليكم ... يجب عليك أخي الكريم إنشاء Module ووضع الكود السابق (و الذي يمثل الإجراء password) في هذا الـ Module وبعد ذلك اضغط على Alt+F8 لتظهر لك نافذة تحتوي على أسماء الماكروات الموجودة في مصنفك ، حدد الماكرو password واضغط على الزر Run ليعمل المرفق التالي يحتوي على المثال ، حمله وشغله وسوف توفق إنشاء الله... password.zip
  12. البارامترات هي المعاملات المستخدمة في الأسلوب ، وكل معامل يمتلك اسماً مخصصاً ، وبهذا فإنه يمكنك الاستعانة بهذا الاسم مع علامة التخصيص =: وذلك من أجل تخصيص أي قيمة لأي معامل نوعية الحماية تعني تحديد المزابا التي تتأثر بالحماية و المزايا التي لا تتأثر بالحماية ، ففي المثال السابق يمكنك الإبقاء على إمكانية تغيير خصائص الخلايا بعد حماية الورقة بإضافة المعامل AllowFormattingCells:=True ذو القيمة المنطقية True إلى الأسلوب Protect السابق
  13. السلام عليكم ... بالنسبة للدالة iif فأنا لم أسمع عنها أبداً خلال السنوات الثلاث الماضية التي تعاملت بها مع الاكسل ، وحتى أنها غير موجودة ضمن قائمة الدالات المدرجة مع حزمة الاكسل . من المتوقع أن تكون هذه الدالة من صنع أحد أعضاء المنتدى أو أي شخص آخر له علم بلغة VBA ، حيث أن هذه اللغة تتيح إمكانية إنشاء دالات خاصة تبعاً لاحتياجات المستخدم وذلك باستخدام الإجراء Function بحسب علمي فإن الفاصلة المنقوطة لا تستخدم سوى مع الدوال ، وهنا تنتفي المشكلة لأنه من المفترض أن توضع مدخلات كل دالة ضمن قوسين ، وما دمت تراعي شروط تداخل الدوال فإنه إن شاء الله لن تواجهك أي مشكلة
  14. السلام عليكم ... للإشارة إلى مراجع موجودة في أوراق عمل أخرى ما عليك سوى كتابة اسم ورقة العمل التي تحتوي على النطاق المرغوب وإتباعها بعلامة التعجب ومن ثم كتابة النطاق المرغوب أي أن الترتيب يكون على الشكل التالي : اسم ورقة العمل-علامة التعجب-النطاق الموجود في هذه الورقة الآن ولننظر إلى مثالنا السابق : إذا كان نطاق البيانات موجود في الورقة m تكون عندئذ الصيغة على الشكل التالي : =COUNT(m!B2:B8)-COUNTIF(m!B2:B8;"<40")-COUNTIF(m!B2:B8;">70") لمزيد من المعلومات عن المراجع في الاكسل يمكنك قراءة الدروس التالية : (y) http://www.c4arab.com/showasection.php?lssid=28
  15. السلام عليكم ... يمكنك ذلك عن طريق كود VBA وباستخدام الأسلوب Protect ، والشفرة التالية تحل مشكلتك : Sub password() ' إجراء لحماية كافة الأوراق الموجودة في مصنف دفعة واحدة ' "كلمة السر هي "بسم الله Dim password As Worksheet For Each password In ActiveWorkbook.Worksheets password.Protect password:="بسم الله", DrawingObjects:=True, Contents:=True, Scenarios:=True Next password End Sub الأسلوب Protect يحتوي على عدد كبير من البارامترات يمكنك الإطلاع عليها من خلال نظام المساعدة الموجود في محرر الفيجوال ، واستخدامك لهذه البارامترات يتوقف على نوعية الحماية التي ترغبها في ورقة العمل ...
  16. السلام عليكم ... يمكنك يا أخ حارث الحصول على حل أفضل من خلال التحكم بإعدادات برنامج الـ Solver لقد توصلتُ إلى حل أفضل من حلك، حيث حصلت على القيمة 72974.15 وذلك عن طريق التوليفة التالية : البنود 2،9،14،23،25،27،28،32 وذلك عن طريق تغيير الاعدادات إلى مايلي : 1. الدقة Precision إلى 0.000000000001 2. التفاوت المسموح به Tolerance إلى 0 3. التقارب Convergence إلى 0.000000000001 حيث مضت 100 ثانية ولم ينتهي الاكسل من البحث عن الحل وظهرت لي رسالة تسألني عن متابعة الحل ولكني أنهيت عملية البحث عند القيمة 72974.15 ، مع الإشارة إلى أنه يمكنك زيادة زمن الحل من الخيار Max Time إلى تسع ساعات كحد أقصى لمزيد من التفاصيل إليك نافذة الخيارات مع التعديلات
  17. السلام عليكم ... جرب هذا المثال : http://www.geocities.com/muhammadhijazy/countif.zip
  18. السلام عليكم يمكنك عمل فورم والتحكم به بطريقتين : 1. عن طريق التعليمة MsgBox 2. عن طريق إنشاء فورم بشكل يدوي (وهذا ماتحتاجه) ، وذلك بالذهاب إلى Visual Basic Editor واختيار UserForm من القائمة Insert لتظهر لك نافذة تحكم غير فيها كما تشاء ... 3. الآن إذا سميت الفورم بالاسم m سيكون الكود كالتالي : Private Sub Workbook_Open() m.Show End Sub
  19. السلام عليكم .. أخي حارث ، من المفترض أن البرنامج قادر على إيجاد التوزيع الأمثل لمشكلتك ولكن (وللتوضيح) إليك الملاحظات التالية : 1. لا يجوز تغيير الخلية G6 أبداً ، وذلك لأن Solver يحتاجها في حله 2. يجب تحديد عدد القطع المطلوبة لكل صنف 3. يمكنك (ومن أجل زيادة الدقة) تقليل نسبة الخطأ المسموح به وذلك في المربع Tolerance الموجود ضمن خيارات الـ Solver 4. يمكن للاكسل إيجاد حل أفضل عندما تكون كميات الأصناف قابلة للتجزئة (أي عندما نسمح بأن تكون الكمية المخصصة للصنف الأول 1.75 مثلاً) ، في حال رغبتك في ذلك أخبرني لكي أعدل المثال السابق وعلى كل الأحوال (ولمعرفة المشكلة بدقة) أنصحك بإرسال الملف السابق مع المثال الذي ذكرته على بريدي التالي: muhammad_hijazy@hotmail.com
  20. السلام عليكم ... أخي مسائل بحوث العمليات معقدة بعض الشيء وتحتاج لدرس خاص ولا يمكن شرحها بالمنتدى على أية حال فإنك ستجد مشكلتك محلولة في المثال المرفق : عليك الذهاب أولاً للخيار Add-Ins من القائمة Tools وإضافة وظيفة الـ Solver ومن ثم قم باختيار Solver من القائمة Tools (حيث تكون قد ظهرت) ، ليظهر لك البرنامج Solver اضغط على الزر Solve لحل مسألتك بالتوفيق ... Solver.zip
  21. السلام عليكم ... مشكلتك تندرج تحت مسائل بحوث العمليات ، ويمكنك حلها عن طريق الوظيفة الإضافية Solver
  22. السلام عليكم ... يمكنك حل مشكلتك عن طريق صيغ الصفيف جرب الملف المرفق : AM2.zip
×
×
  • اضف...

Important Information