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

نجوم المشاركات

  1. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      4

    • Posts

      12,212


  2. ياسر خليل أبو البراء

    ياسر خليل أبو البراء

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


    • نقاط

      4

    • Posts

      13,165


  3. رمهان

    رمهان

    الخبراء


    • نقاط

      3

    • Posts

      2,390


  4. محمد حسن المحمد

    • نقاط

      2

    • Posts

      2,216


Popular Content

Showing content with the highest reputation on 16 ديس, 2016 in all areas

  1. اليوم اقدم لكم أضخم كتاب عربي لتعلم برنامج EXCEL يحتوي على شرح مفصل لصيغ والدوال وكذالك مرفق مع الكتاب تطبيقات نموذجية . غلاف الكتاب المحتويات 1.بداية الكتاب معلومات اساسية عن برنامج إكسل 2007 2. استخدام الدالات في الصيغ 3. شرح كافة المعادلات في والتطبيق في إكسل 4. شرح صيغ الصفيف وأمثلتها المستحيلة في إكسل 5. شرح جداول Pivot والمراجع الدائرية المقصودة والمخططات والرسوم البيانية والتنسيق الشرطي والادوات والتنقيح 6.في النهاية الغير متوقعة شرح لغة VBA وطريقة كتابة الصيغ فيها لتحميل الكتاب اضغط هنا حجم الكتاب: 39.7 MB رابط اخر على 4shared أرجو الدعاء لي ولصاحب الكتاب وناشره جزاكم الله خيرا
    1 point
  2. السلام عليكم ورحمة الله وبركاته كود البحث المتقدم باستخدام المصفوفات VBA Arrays قدم لنا الأخ الغالي ياسر العربي صاحب الجولات والصولات كود رائع ، ويستخدم الكود في البحث المتقدم ، وقد استخدم المصفوفات والتي هي عشقي في التعامل مع الأكواد ، حيث يتم تنفيذ جميع أسطر الكود بالذاكرة بعيداً عن التعامل بشكل مباشر مع ورقة العمل ، مما يجعل الكود أسرع مئات المرات من استخدام الحلقات التكرارية العادية. وقد ارتأيت أن أقوم بشرح لأسطر الكود ليكون مرجع لكل طالب علم ولكل باحث في هذا الخصوص ، ولنبدأ مرحلة جديدة من عالم الأكواد باستخدام المصفوفات VBA Arrays ، لما لها من مرونة عالية وسرعة فائقة في تنفيذ الأكواد. يوجد بالمرفق ورقتي عمل أحدهما باسم Data وفيها البيانات الخام من 14 عمود ، والورقة الأخرى باسم Result للنتائج وبها الخلية G2 والتي توضع بها نص الكلمة المراد البحث عنها. وإليكم الكود مع الشرح بالتفصيل (وضعت مثال بسيط ليستطيع المتتبع للشرح فهم الكود بسهولة) Sub Araby_Search() 'تعريف المتغير لورقة العمل التي تحتوي على البيانات الخام Dim wsData As Worksheet 'تعريف المتغير لورقة العمـل المطلـوب إظهـار النتائـج بها Dim wsResult As Worksheet 'تعريف المتغير ليحمل قيم المصفـوفة للبيانات الخـام Dim Arr As Variant 'تعريف المتغير ليحمل قيم المصفوفة للنتائج المطلوبة Dim Temp As Variant 'تعريـف المتغير من النـوع النصي ليحمـل قيمة أو نص البحث 'أي الكلمة المطلوب البحث عنها يتم تخزينها في هذا المتغير Dim strSearch As String 'تعريف المتغير وسيستخدم في الحلقة التكرارية لصفوف المصفوفة Dim I As Long 'تعريف المتغير وسيستخدم في الحلقة التكرارية لأعمدة المصفوفة Dim J As Long 'تعريف المتغير وسيستخدم في مصفوفة النتائج لزيادة مقدار الصفوف بمقدار واحد Dim P As Long 'تعيين قيمة للمتغير ليساوي ورقة العمل التي تحتوي '[Data] على البيانات الخام المطلوب معالجتها والمسماة Set wsData = Worksheets("Data") 'تعيين قيمة للمتغير ليساوي ورقة العمل التي تريد إظهار '[G2] النتائج بها بمجرد إدخال قيمة أو نص محدد في الخلية Set wsResult = Worksheets("Result") 'مسح النطاق الذي توضع فيه النتائج استعداداً لوضع النتائج الجديدة wsResult.Range("A8:N10000").ClearContents '[G2] تعيين قيمة للمتغير ليساوي قيمة الخلية 'وهي الخلية التي ستوضع فيها نص الكلمة المطلوب البحث عنها strSearch = wsResult.Range("G2").Value 'تعيين قيمـة للمتغير ليحمل قيم النطاق بالكامل للبيانات الخام ' وذلك [Data] حيث أن مصـدر البيانات الخام ورقة العمل المسماة 'عند [N] وينتهي في العمود [A5] في النطاق الذي يبدأ من الخلية '[&] آخـر صف به بيانات ، ويتم تحديده عن طريـق الجزء بعد علامـة Arr = wsData.Range("A5:N" & wsData.Cells(Rows.Count, 1).End(xlUp).Row).Value 'والتي ستحمل قيم النتائج [Temp] إعادة تعيين أبعاد المصفوفة المسماة '[Arr] وتكون بنفس أبعاد المصفوفة التي تحمل البيانات الخام والمسماة 'سنعتبر المصفوفة أشبـه بالصفـوف والأعمدة حيث الرقـم 1 يمثـل الصفـوف 'بإرجاع أكبر قيمة [UBound]بينما الرقم 2 يمثل الأعمدة ، وتقوم الكلمة 'أبعاد المصفوفة في هذه الحالة >> '------------------------------- 'البعد الأول سيكون من 1 إلى أكبر قيمة للصفوف 'البعد الثاني سيكون من 1 إلى أكبر قيمة للأعمدة ReDim Temp(1 To UBound(Arr, 1), 1 To UBound(Arr, 2)) 'حلقة تكرارية من الصف الأول للمصفوفة إلى آخر صف بها For I = 1 To UBound(Arr, 1) 'إذا كان النص المطلوب البحث عنه فارغ يتم الخروج من تنفيذ الكود If strSearch = "" Then Exit Sub 'هذا السطر هو أهم سطر بالكود حيث هو الشرط الذي من خلاله 'والشرط [Temp] ستوضع النتائج في مصفوفة النتائج المسماة 'هـو تطابق قيمة المصفوفة في صف الحلقة في العمود رقم 14 'حيث يمثـل الرقم 14 العمود داخـل مصفوفة البيانات الخام '[strSearch] يتـم اختبـار التطابـق مع نـص البحث المسمى If Arr(I, 14) Like "*" & strSearch & "*" Then 'زيادة مقدار المتغير بمقدار 1 'فائدة المتغير هنا هو أنه مع كل حلقة تكرارية 'إذا تحقق الشرط فقط يزيد المتغير بمقدار واحد 'ليمثل هذا المتغير صفوف مصفوفة النتائج الجديدة P = P + 1 'حلقة تكرارية داخلية من العمود الأول للمصفوفة إلى آخر عمود بها For J = 1 To UBound(Arr, 2) 'تعبئـة مصفـوفة النتائـج بالبيانات مـن مصفوفة البيانات الخام '[Temp]مثـال لتتضح صورة كيفية تعبئة المصفوفة الجديدة المسماة 'في أول حلقـة سيكون مقداره 1 ويمثل أول صف [P] المتغيـر المسمى 'أول صف هنا لمصفوفة النتائج 'في أول حلقة سيكون مقداره 1 ويمثل أول عمود [J] المتغير المسمى 'في أول حلقة سيكون مقداره 1 ويمثل أول صف [I] المتغير المسمى 'أول صف هنا لمصفوفة البيانات الخام Temp(P, J) = Arr(I, J) 'الانتقال للحلقة التالية للأعمدة Next J 'نهاية جملة الشرط وهو تطابق نص البحث مع العمود رقم 14 في المصفوفة End If 'الانتقال للحلقة التالية في صفوف مصفوفة البيانات الخام Next I 'إذا كانت قيمة المتغير أكبر من صفر فهذا يعني أنه تم إيجاد نتائج للبحث 'حيث أن زيادة المتغير كما أوضحنا مقرونة بتحقق الشرط وطالما تحقق الشرط 'فهذا يعني أن مصفوفة النتائج سيكون بها بيانات ومن ثم يتحقق الجزء الثاني '[A8] وضع نتائج مصفوفة النتائج في أول خلية في ورقة النتائج في الخلية '[P] ويتم تمديد النطاق بمقدار عدد الصفوف طبقاً لقيمة المتغير المسمى '[Temp] وبمقدار عدد الأعمدة طبقاً لأكبر عدد لأعمدة المصفوفة المسماة If P > 0 Then wsResult.Range("A8").Resize(P, UBound(Temp, 2)).Value = Temp End Sub لتحميل الملف المرفق وللإطلاع على الموضوع الأصلي قم بزيارة الرابط التالي رابط الموضوع من هنا
    1 point
  3. لدي نموذج به مربع نص (جملة الايرادات) ومربع أخر (جملة المدفوعات) وكلها تنسيق عملة رقم عام ولدي مربع نص وهو المطلوب اذا كانت نتيجة طرح جملة الايرادات - جملة المدفوعات = صفر اريد من الكود كتابة (( مطابق )) واذا كانت نتيجة طرح جملة الايرادات - جملة المدفوعات = رقم عام اريد من الكود كتابة (( غير مطابق )) ارجو المساعد ولكم خالص الشكر ارجو المساعدة لقرب انهاء برنامجي وسيتم عرضه لحضراتكم للتقييم وما ترونه من أفكار (( جعلكم الله ذخراً لنا ))
    1 point
  4. انا كنت ببحث فى نموذج تانى خالص والله الشكر لا يوفيك حقك فقط دعوة الله يرزقك ما تتمناه ويغفر ليك ولوالديك تمت الافادة بجدارة
    1 point
  5. سلمت الايادي استاذنا الفاضل ربي يوفقكم ولايحرمنا من عطائكم .. الكود شغال وتم النقل فيه بنجاح
    1 point
  6. تعديل في جمل الاسكيو ال Set rs = CurrentDb.OpenRecordset("select * from emp where [اسم الموظف] Like '" & [Text1] & "*'"): rs.MoveFirst Set rs1 = CurrentDb.OpenRecordset("select * from transfer where [اسم الموظف] Like '" & [Text1] & "*'"): rs1.MoveFirst مع التنبيه انه يتم تشغيل الاستعلام اولا ثم النقر على الزر بالتوفيق
    1 point
  7. نضيف شرط لسطر الشرط الموجود باستخدام الدالة AND .. ادرس الكود بشكل جيد واقرأ الشرح بشكل جيد لكي تتعرف أكثر والأفضل التطبيق
    1 point
  8. جرب هذا الملف فقط اضغط على الزر ملء الكشوف توزيع اللجان بالمعادلات salim.rar
    1 point
  9. الاضافة ستكون بنفس التنسيق السابق مشكلتك في ان الحدث يتم قبل كتابة التاريخ لذا قدمت كتابة التاريخ ليكون رقم المستند هو الاخير تفضل Prog27.rar
    1 point
  10. اشكرك استاذ رمهان ولكن هذه صارت مع كل العملاء الان سحبت البرنامج كامل على قاعدة جديده وثبت الخط واليوم باجرب وباوافيكم بالي صار
    1 point
  11. Sub Test() Dim cell As Range, rng As Range, oRange As Range Application.ScreenUpdating = False Set rng = Range("B1:B100") For Each cell In rng If cell.Value <> "agent '450'" Then If oRange Is Nothing Then Set oRange = cell Else Set oRange = Union(oRange, cell) End If Next cell If Not oRange Is Nothing Then oRange.EntireRow.Delete Application.ScreenUpdating = True End Sub
    1 point
  12. هذا كود يقوم بمهمة نقل المرفقات الاستعلام يكون استعلام الحاق عادي غير مضمن به حقل المرفقات والكود يقوم بالمهمة وبنقر الزر بالنموذج بالتوفيق مثال1.rar
    1 point
  13. Sub Copy_Selected_Range_As_New_Workbook() Dim a As Range, rng As Range Application.ScreenUpdating = False Set rng = Selection ActiveSheet.Copy If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData Columns.Hidden = False Rows.Hidden = False Cells.ClearContents For Each a In rng.SpecialCells(xlCellTypeVisible).Areas Range(a.Address).Value = a.Value Next a ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\YourFileName.xls", FileFormat:=56, CreateBackup:=False ActiveWorkbook.Close Application.ScreenUpdating = True End Sub
    1 point
  14. تم الحذف نهائيا ولكن قوقل مازال يحتفظ بنسخته التي خبأها لعلها مع الوقت تذهب ارى ان تتركها ولا تبحث عنها ربما تتجدد مع البحث والفتح كان الله في عونك
    1 point
  15. تفضل اخي الكريم Database1.rar
    1 point
  16. وعليكم السلام ورحمة الله وبركاته الذهاب إلى لوحة التحكم ومن ثم Region and Language ومن ثم الذهاب إلى أيقونة Change Keyboards ومن ثم الضغط على تبويب Keyboards and Languages وبعد ذلك الذهاب إلى تبويب Advanced Key Settings (مرفق ما يوضح ذلك) بالذهاب إلى بند To Arabic والضغط على أيقونة Change Key Sequence، وبعد ذلك يمكن اختيار الاختصار المناسب لكم، وبالمثل اللغة الإنجليزية. دمتم بخير
    1 point
  17. بارك فيك استاذ ابا خليل وبعد اذنك حسب خبرتي لابد من استخدام الكود وينظر له كانه مجموعة سجلات وطبعا لانه قد يوجد في المرفق الواحد اكثر من ملف سيتم التطبيق عند العودة للبيت ان شاء الله واوافقك الراي في لماذا المرفقات تكون في اكثر من جدول مع العلم ان وجودها في جدول واحد كافي ويتم الربط بين الجدولين تحياتي
    1 point
  18. ابنتي الفاضلة مع الاسف لم اتمكن من الوصول الى حل المشكلة علما اني اعمل على الاصدار 2003 وليس لي خبرة بهذه المشكلة من قبل وكان لزاما ان انقل المثال الى جهاز آخر وكانت النتيجة : "اكسس يمتنع عن الحاق الحقول ذات القيم المتعددة" والمجال مفتوح لاهل الخبرة ليفيدونا مشكورين لمن مرت به هذه المشكلة وتمكن من الإلحاق وان استعصى الحل قد نجد مخرجاً : ما الغرض من الالحاق ؟ .. لعلنا نجد لك حلا آخر ينوب عنه اما بالنسبة لالغاء رسائل التحذير فالحل هو ان نجعل امر الاستعلام (الكود او امر فتح الاستعلام بين هذين السطرين ) DoCmd.SetWarnings False ' ....... DoCmd.SetWarnings True
    1 point
  19. اطلع على هذا المثال ربما سياعدك في ملفك : https://www.officena.net/ib/applications/core/interface/file/attachment.php?id=23237 تابع نتائج هذا البحث لعلك تجد فيها ضالتك : https://www.officena.net/ib/search/?&q=فورم تعديل اضافة
    1 point
  20. وعليكم السلام تفضل الآن وبعد عمل الالوان ، تبدو الصورة كأنها لغز آسف ، عملت الربط بكود الورشة جعفر 484.Maint Car System.zip
    1 point
  21. وعليكم السلام استاذنا الجليل علي بالنسبة الى اولا ، مشكلتك في عدم عرض البيانات جميع: النموذج يقرأ جميع السجلات: . ولكنك طلبت منه اظهار سجل واحد في النموذج: . وبعد تغيير اعدادات النموذج ليعرض جميع السجلات: . ولا اعرف لماذا تريد حفظ البيانات مرة اخرى في الجدول tbl_LessonAbsent ، حيث ان البيانات موجودة هناك اصلا !! واذا سمحت لي في ملاحظة لطريقة حفظ البيانات ، فرأيت ان جداول الايام متشابهة في عدد الحقول والبيانات (ما علينا من اسماء الحقول الان) ، لذا من الافضل ان تجمع هذه الجداول في جدول واحد ، وتضيف فيه حقل اليوم لتمييز البيانات لكل يوم (كما هو الحال في الجدول tbl_LessonAbsent) ، وبهذه الطريقة تختصر الكثير في البرمجة جعفر
    1 point
  22. اخي ابو البراء احسنت باسلوبك الجميل الذي يدرس لكل معلمي العالم فهو غاية الجمال والسهولة وحسن الصبر والمصابرة وتاكيد الفهم للمتلقي ولي طلب ثقيل لانني مبتدأ وارجو ان استفيد من خبرتك واتعلم منها وطلبي هو :- اريد عمل كشف مناداة وكشف قوائم الفصول بشرط ان اكتب العدد في خانة وارقام الجلوس من في خانة والي في خانة يتم الترحيل بناء عن الرقم المحدد في الخانات وشكرا لحضرتك استاذ ( ياسر خليل أبو البراء )
    1 point
  23. السلام عليكم هذا قصدك أخي الكريم أليس كذلك
    1 point
  24. السلام عليكم طريقة الاخ كابون سليمة % والخلل عندك وطريقة اخي Bluemind جميلة وفريدة في الوقت نفسه ، فبتطبيقها نستغني عن كتابة الاكواد فقط يكفي الاشارة الى الماكرو في الخصائص . ويقصد بالشرط ان تضع معيار لما يتم حذفه والا سيتم حذف الجدول بكامله ونفس الحال لما قمت به لك من تعديل فسيتم حذف جميع ما بالجدول لذا لا بد من وضع معيار في الاستعلام ويتم اختياره من النموذج mmm2.rar
    1 point
  25. تفضل اخوي ملفك بعد التعديل عليه طبعا لقد تم عمل ماكرو اسمه Run Delete Qry و وضعه في حدث عن النقر لزرالامر انظر تصميم الماكرو طبعا لا تنسى وضع شرط للاستعلام لكي يعمل انظر المثال الموجود في الاستعلام mmm1.rar
    1 point
×
×
  • اضف...

Important Information