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

أ / محمد صالح

أوفيسنا
  • Posts

    4,444
  • تاريخ الانضمام

  • Days Won

    192

كل منشورات العضو أ / محمد صالح

  1. تفضل أخي الكريم يتم تنفيذ الكود في تمام التاسعة صباحا يمكنك تغيير وقت جهازك إلى 8:59 ص ثم افتح الملف وانتظر دقيقة الكود قائم على اختبار الوقت الحالي للجهاز هل هو 9:00 فإذا كان كذلك يتم تنفيذ الكود وإذا لم يكن كذلك يعيد الكرة كل دقيقة وأي استفسار لا تتردد أخوك محمد صالح في خدمتك Mas-ontime.rar
  2. أخي الكريم ليس هذا النوع من القوائم هو الذي ينبغي استخدامه وإنما يمكنك استخدام التحقق من الصحة لعمل قائمة الفصول واستخدام التنسيق الشرطي لتلوين التكرار وهذا ما تم تعديله في مرفقك في العمود الأول فقط يمكنك تكراره في باقي الأعمدة mas-table.rar
  3. لايوجد مرفق أين المرفق ؟؟
  4. الحمد لله على عودة هذا الصرح التعليمي الكبير كنت قد وضعت برنامج لحساب نتائج مباريات كأس العالم للشباب والتي أقيمت في مصر 2009 واليوم قمت بتطوير الفكرة لجعلها مناسبة لأي بطولة تتكون من 24 فريق المطلوب من المستخدم: كتابة أسماء فرق المجموعات في مكانها الصحيح في جانب اللغات وكتابة نتائج المباريات والبرنامج يقوم بحساب الاحصائيات والترتيب ومن سيقابل من في الأدوار القادمة حتى نصل للبطل لا ينقصني سوى دعاؤكم لي بالتوفيق والسداد Mas24TeamsCup.rar
  5. مشكور أخي yamz شاهدت أمثله مثل هذا لكأس العالم وكأس أوربا جزاك الله خيرا
  6. فين الهمة والشطارة في حل هذا اللغز يا إخواني
  7. رائع أخي أحمد جزاك الله كل خير
  8. أخي الكريم جلال لعمل المطلوب بالنسبة للتنسيق الشرطي يمكنك تحويل معادلة التنسيق الشرطي إلى دالة sumif ففي مثالك يمكنك جمع الخلايا الملونة بالعمود h بهذه المعادلة =SUMIF(H7:H20;"<8") وفقني الله وإياكم لكل ما يحب ويرضى
  9. إن شاء الله الجيل الجديد من المبرمجين العرب قادر على أفضل من ذلك نفعنا الله وإياكم به سعيد بمرورك أخي الكريم وبالتوفيق للجميع
  10. أخي الكريم الموسى 1423 موضوع عمل جدول دراسي ببرنامج إكسل أو أي برنامج جاهز لا يراعي الظروف الخاصة بكل مدرس أو مدرسة لذا يفضل كتابة الجدول يدويا وبعدها يمكنك تصميم برنامج للحصول على جدول مدرس معين أو جدول فصل معين من خلال الجدول الكبير ويوجد في المنتدى أمثلة لهذه الطريقة
  11. مشكور أخي أحمد يعقوب وإذا سمحت لي فهذه هديتي لك وللإخوة ‏طريقة إنشاء شريط أدوات جديد في اكسل و ارفاقة مع ملف محدد o من القائمة عرض تختار اشرطة الأدوات ثم تخصيص o سوف تظهر معاك الصفحة التالية o تضغط على جديد سوف يظهر لك مربع حوار التالي o تدخل هنا الإسم الذي تريده لشريط الأدوات الجديد ثم موافق o سوف يظهر لديك شريط ادوات جديد خالي من أذارير o تنتقل الى تبويب الأوامر o ثم تختار بواسطة الماوس أي امر تريدة وتسحبة و تفلته داخل شريط الأدوات الجديد o من هنا بعد عملية السحب o يمكنك الآن تغيير شكل الزر o تغيير اسم الزر o وعدة خيارات اخرى باستخدام كليك يمين على الزر الذي تريد o = = = = = = = = = = = = = = = o ((اضافة شريط الأدوات الى ملف معين)) o بعد الإنتهاء من عمل الشريط الجديد o تعود الآن الى تبويب أشرطة الأدوات مرة اخرى o و بالضغط على زر ارفاق000 o تظهر لك الشاشة التالية o داخل هذه الشاشة يوجد لديك كل أشرطة الأدوات التي تم إضافتها من قبل المستخدمين إلى اكسل o تحدد شريط الأدوات الذي تريده – ثم تضغط على نسخ o الآن بعد الضغط على موافق o أصبح شريط الأدوات المحدد مقترن تماما مع ملف اكسل المفتوح و النشط حاليا أحفظ الملف و اغلقة عند تشغيل هذا الملف في أي جهاز كمبيوتر آخر سوف يظهر تلقائيا شريط الأدوات المختار مع تحياتي و تقديري
  12. أشكرك أخي أبو سارة عذرا فحل أخي سالم نساني أن أشكرك وهذه لعبة أخرى بس حلها صعب شوية أخي سالم وورونا شطارتكم هيا يا شباب الإكسل والحسابات WaterJars.rar
  13. حل موفق أخي سالم سلمك الله من كل سوء وبالنسبة لإضافة ملف فلاش في ملف إكسل يمكنك اختيار macromedia flash object من مجموعة الأكتيفيكس الموجودة ضمن صندوق الأدوات
  14. بارك الله فيك أخي صفوت بالتوفيق في القادم
  15. ما الاستجابة التي تريدها من البرنامج عند مسح الخلية؟ فالطبيعي حسب الكود أن تعود لما كانت عليه قبل الحذف
  16. يا ريت مزيد من التوضيح للمطلوب مع العلم أنك في مرفقك لم تصمم اي حد للصفحات بل الذي يظهر البيانات فقط
  17. أخي يحيى وفقنا الله وإياكم إلى ما يحب ويرضى أليس معنى هذا الجزء من الكود For i = LR To 1 Step -1 If Range("A" & i).Value = "" Then Range("a" & i).EntireRow.Delete End If Next i أنه بعدد الصفوف يتم تكرار الشرط إذا كانت قيمة الخلية a1 تساوي "" أي لا شيء يتم حذف الصف الذي يحتوي على هذه الخلية وهكذا مع الخلية a2 , a3 , a4, a5 وهكذا وبالنسبة لأخي محمد طاهر بنا يكون في عونه لما يحدث ونبارك لنا وله عودة هذا الصرح التعليمي الكبير الدالة المقدمة مني هي عبارة عن دمج للدالتين ولكن الخطأ بها يعود غلى حالة وجود أكثر من صف في النطقة الفارغة وتم معالجة هذا الأمر في الدالة التالية Sub masDeleteBlankRows() For Each area In ActiveSheet.UsedRange.SpecialCells(4).Areas If area.Columns.Count = ActiveSheet.UsedRange.Columns.Count Then n = n + 1 If n = 1 Then Set delrange = area.EntireRow Else Set delrange = Union(delrange, area.EntireRow) End If End If Next area delrange.Delete End Sub بانتظار تجارب الإخوة
  18. أخي الكريم يا ريت توضح أكثر ماذا تريد؟ فبالنسبة لتسمية الخلايا باسم فلا يوجد قيود ويمكنك تسمية أي عدد من الخلايا من خلال تحديد الخلايا المطلوبة جميعا باستخدام زر CTRL ثم الضغط على الخلايا المطلوبة جميعا ثم الضغط بزر الفارة الأيمن واختيار name a range ثم اكتب الاسم الذي تريده
  19. أخي الكريم الملف المرفق غير موضوعك نهائيا فالمرفق به طريقة لجمع قيمة يتم كتابتها في العمود الأول على ما كان مكتوبا به قبل الكتابة ووضع الناتج في نفس الخلية فمثلا الخلية a1 بها قيمة مثلا 5 ثم كتبت بها 10 فستصبح قيمة هذه الخلية 15 بعد الانتهاء من الكتابة وموضوعك حمع 100 صف من خليتين وإظهار الناتج في أحدهما
  20. حل رائع أخي قطان وفقك الله لكل ما يحب ويرضى
  21. بعد إذن أخي هادي جرب أخي صاحب السؤال هذا الكود الذي عرضه أخونا هادي بتعديل بسيط Sub sum100() For i = 2 To 101 Cells(i, "C").Value = Cells(i, "C").Value + Cells(i, "B").Value Next i End Sub هذا الكود يقوم بجمع الخلايا الموجودة في العمود B مع الخلايا الموجودة في العمود C ويعرض الناتج في العمود C وذلك لمدة 100 صف ابتداء من الصف الثاني (2) للصف 101 أتمنى أن يكون هو المطلوب
  22. أخي يحيى حسين اسمح لي بقليل من التعليق وهو أنك اعتمدت في الأكواد السابقة على فراغ الخلية الأولى من كل صف حتى يتم حذفه فمن الممكن أن تكون الخلية الأولى فارغة وباقي الخلايا مكتوب فيه أو العكس وبالفعل تم مناقشة هذا الموضوع في منتدى آخر وعرض أحد الإخوة هذه الدالة التي تقوم بحذف الصفوف الفارغة Sub deleteEmptyRows() Dim LastRow As Integer Dim MyRow As Integer Application.ScreenUpdating = False LastRow = ActiveSheet.UsedRange.Row - 1 + _ ActiveSheet.UsedRange.Rows.Count For MyRow = LastRow To 1 Step -1 If Application.CountA(Rows(MyRow)) = 0 Then Rows(MyRow).delete Next MyRow Application.ScreenUpdating = True End Sub ولكني لاحظت أنها تقوم بحذف الأسطر الفارغة صفا صفا وكنت قد بحثت في فترة سابقة على النت فوجدت هذه الدالة التي تعتمد على حذف المناطق الفارغة مما يزيد سرعة عملية الحذف Sub DeleteBlankRows() Set myrange = Range("B4:I31") Set blanks = myrange.SpecialCells(xlCellTypeBlanks) For Each area In blanks.Areas If area.Columns.Count = myrange.Columns.Count Then area.EntireRow.Delete End If Next area End Sub وهذه دالة من تصميمي بناء على الدالة الأولى مع بعض التعديلات Sub Mas_DelBlankRows() On Error Resume Next Dim n As Integer For n = 1 To ActiveSheet.UsedRange.SpecialCells(4).Areas.Count If ActiveSheet.UsedRange.SpecialCells(4).Areas(n).Columns.Count = ActiveSheet.UsedRange.Columns.Count Then ActiveSheet.UsedRange.SpecialCells(4).Areas(n).EntireRow.Delete Next n End Sub وفي الكودين السابقين يتم تحديد الصف الفارغ بناء على عدم وجود بيانات في أي خلية من خلاياه وليس فقط الخلية الأولى وبالله التوفيق أخوكم محمد صالح
  23. الحمد لله على كل حال المهم الدروس المستفادة من هذه التجربة
  24. الحمد لله على عودة المنتدى ولكن يبدو أننا فقدنا جزءا كبيرا من المواضيع والمشاركات تصل تقريبا لمدة أسبوع من آخر تاريخ موجود بالموقع الذي هو 16/9/2009 وإذا لم يكن لدى اخينا الباشمهندس محمد طاهر نسخة احتياطية لهذه المواضيع والمشاركات فهذا درس من الدروس المستفادة من هذا التوقف "أخذ نسخة احتياطية من قاعدة البيانات كل 12 ساعة أو بصورة يومية على الأكثر" المهم نبارك جميعا لأنفسنا عودة المنتدى
  25. أشكرك أخي صفوت والحمد لله والله ما كنت مصدق
×
×
  • اضف...

Important Information