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

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

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

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

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


    • نقاط

      28

    • Posts

      13165


  2. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      17

    • Posts

      9927


  3. أبوبسمله

    أبوبسمله

    الخبراء


    • نقاط

      15

    • Posts

      3463


  4. رمهان

    رمهان

    الخبراء


    • نقاط

      7

    • Posts

      2390


Popular Content

Showing content with the highest reputation on 03/08/16 in مشاركات

  1. بسم الله الرحمن الرحيم اراد احد الاخوة كود لازالة بيانات من خلايا متفرقة داخل نطاق معين فخطرت ببالي هذه الفكرة وهي حذف البيانات بمعلومية لون الخليه فوضعت لكم مثال بسيط لعله يفيدكم Sub Yasser() Dim Rng As Range Application.ScreenUpdating = False For Each Rng In Range("a3:g31") If Rng.Interior.Color = Range("h1").Interior.Color Then Rng.ClearContents End If Next Rng Application.ScreenUpdating = True End Sub مع تحياتي ياسر العربي مسح بيانات بمعلومية اللون.rar
    3 points
  2. بارك الله فيك أخي الكريم كريم .. لما قريت فولازية تقريباً فيه حرفين طاروا من قدام عيني (لا) ..فقريتها فوزية ..! مين فوزية دي .. أكيد أخت فوزي الفكرة ليست في العقول بل في الاجتهاد ..ربما من كان هناك من الأعضاء من هو أذكى من الجميع ولكن لا يستغل ذكائه ، فلكل منا قدرات خاصة المهم أن نفتش عنها وننقب عنها تقبل تحياتي
    3 points
  3. السلام عليكم ورحمة الله وبركاته في أحد المشاريع التي قمت بها ، كنت محتاج الى برنامج خارجي ليقوم ببعض المهام للمشروع ، فالطريقة المعتادة التي نستعملها هي ، وضع البرنامج هذا داخل احد مجلدات المجلد الرئيسي لقاعدة البيانات ، وبما ان فقدان/حذف هذا البرنامج يجعل المشروع عاجز عن العمل ، لم يكن عندي خيار ، سوى ان اجعل هذا البرنامج داخل قاعدة البيانات ، بطريقة تسمى Blob المرفق فيه هذه الملفات: . النموذج frm_Blob مهم في انه يسمح لك بوضع برامجك في قاعدة البيانات بسهولة ، والزر الاخر هو لتصدير هذا البرنامج الى اي مجلد في الكمبيوتر (لعمل التجارب مثلا) ، وقد وضعت برنامجين في قاعدة البيانات المرفقة: 1. pdftk.exe والذي يقوم بالعديد من العمليات لملفات الـ pdf ، 2. Arc5_S_BE.mdb ، وهي قاعدة بيانات فاضية ، وبها جداول مؤقته ، فبدل ان اعمل هذه الجداول المؤقته داخل قاعدة بياناتي ، ويكبر حجمها ، رأيت ان استعمل جداول خارجية ، وعند اغلاق البرنامج ، كنت اقوم بحذفها من المجلد: . لعمل البرنامج الاول ، استخدم الزر رقم 1 ، والذي سيصدر البرنامج pdftk.exe الى مجلد قاعدة البيانات ، ثم سيدمج الملفين a.pdf و b.pdf ويحفظ النتيجة في ملف ab.pdf ، ويفتحه ، بينما الزر رقم 2 ، سيصدر قاعدة البيانات Arc5_S_BE.mdb الى المجلد الرئيسي لقاعدة بياناتنا: . عند الضغط على الزر 1 ، سنرى هذه الملفات في المجلد الرئيسي لقاعدة البيانات: . ان شاء الله يكون فيه فائدة للجميع جعفر Blob.zip
    2 points
  4. السلام عليكم ورحمة الله وبركاته إخواني الكرام لاحظت تغيب أخونا الغالي محمد حسن المحمد عن المنتدى منذ أيام ، وقلت في نفسي لعله خير ، ولكن طال غيابه عنا .. لعل يغابه عنا خير إن شاء الله من لديه رقم هاتفه أو يستطيع التواصل معه ، فليتصل به للإطمئنان عليه .. وبلغوه سلامي وتحياتي القلبية .. تقبلوا جميعاً وافر حبي وتقديري
    2 points
  5. هلا اخوي جعفر الموضوع بسيط ان شاء الله بس ممكن لم يمر عليك في برامجك لما يكون عندك حقل به مثلا سجلين 0.166 0.331 اجماليهم قبل التنسيق = 0.497 مع انه لو تم النظر لهم بعد التنسيق وبتطبيق المشاركة رقم 6 0.17 0.33 وهذا يوحي للمطلع على الرقمين ان اجماليهم 0.50 وهو ما يختلف عن الاجمالي الحقيقي السابق بالتوفيق
    2 points
  6. الحاجة فوزية بتسلم عليكووو نفر ناااافر وان خلص الفول_ازية انا مش مسئول وبتقولوكي الله يقويكو ، ويخلي هذا الصرح العربي اللي اسمة اوفيسنا يكون من اقوي المنتديات في مجال المعلومات والخبرات وكفاية انه مجمعنا مع بعض مع اننا مشوفناش بعض رببنا يجمعنا علي خير في الجنه ان شاء الله بالعمل الصالح مع الاعتذار للحاجة فوزية
    2 points
  7. Sub IN_SH() Dim INSH As Worksheet On Error Resume Next For Each INSH In Worksheets If INSH.ProtectScenarios = False Then INSH.Protect "123" End If Next INSH Set INSH = Nothing End Sub Sub UN_SH() Dim UNSH As Worksheet On Error Resume Next For Each UNSH In Worksheets If UNSH.ProtectScenarios = True Then UNSH.Unprotect "123" End If Next UNSH Set UNSH = Nothing End Sub بعد استخدام البرنامج الجميل من حضرتك يصبح هكذا شكراً لك وبارك الله بك وجزاك كل خير
    2 points
  8. جزاكم الله كل خير جعلكم الله عونا لاخوانكم ويسر بكم كل عسير ويسر لكم كل امر يهمكم ويشغلكم وجزاكم الله عنا خير الجزاء تقبلوا منى فائق الاحترام والتقدير
    2 points
  9. أخي الحبيب صلاح عارف إني غلبتك معايا ..باقي حاجة تافهة كدا بس حاول تتعود عليها عشان يكون الكود سهل لما نحب نقراه .. استخدم مفتاح التاب لضبط أسطر الكود أو ادخل على الموضوع التالي لمعرفة كيفية ضبط أسطر الكود في الشكل من هنا الموضوع
    2 points
  10. اللهم امين ياريت تبقى قفله جمعه ياحبيبي ربنا يرحمك من زحمة العقل والتفكير بعيد عنك (حلة محشي بالكنافة على مية مخلل بالمسقعة) جوا دماغك تقبل تحياتي ومحشياتي وطرشياتي
    2 points
  11. يا عربي .. العملية قافلة ليه هو النهاردة الجمعة ؟!! يسر الله أمورك ويسر عليك كل عسير .. وفك الله كربك وكرب جميع المسلمين تقبل وافر تقديري واحترامي
    2 points
  12. وعليكم السلام احد قواعد الاكسس التي يجب عليك ان تتبعها لبرنامج افضل ، هو إضافة حقل الترقيم التلقائي مفهرس ، فالبرنامج يحتاج اليه ليرتب وضعه في الفهرسة ويكون اسرع في العمل جعفر
    2 points
  13. اثراء للموضوع هذه المعادلة =MATCH($E$3,$A$3:$A$5,0) او هذه =COUNTA(INDIRECT("A"&MATCH($E$3,$A$3:$A$5,0)+2&":A3")) او هذه (يلزمها CTRL+SHIFT+ENTER) =MAX(IF($A$3:$A$5=$E$3,ROW($A$1:$A$3),"")) أو هذه =SUMPRODUCT(--($A$3:$A$5=$E$3),{1;2;3}) هذا بالاضافة الى دالة IF مع توابعها (IF كذا اعطني كذا ...)
    2 points
  14. بص موضوع الـ ByVal موضوع محتاج وقت ... خد الكود دا فيه شرح وفيه الفرق بين ByVal و ByRef 'a. Formal Parameter - a variable passed to a Sub or Function (e.g. i, iRow, and sData are formal parameters). 'b. ByRef (default) means the Sub or Function is allowed to modify the value of a formal parameter and pass the _ modified value back to the calling routine. 'c. ByVal means means the Sub or Function is allowed to modify the value of a formal parameter (in some languages _ this causes a compile error), but the value that the calling routine sees is the ORIGINAL value. '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Sub IncrementCounter(ByRef I As Long) I = I + 1 End Sub Sub OuputValueToColumnA(ByVal iRow As Long, ByVal sData As String) Cells(iRow, "A").Value = sData iRow = iRow + 1 'NOTE: Modification of a ByVal formal parameter is allowed inside the routine, but is poor programming practice Cells(iRow, "A").Value = sData End Sub Sub ImprovedOuputValueToColumnA(ByVal iInputRow As Long, ByVal sData As String) Dim iRow As Long iRow = iInputRow 'Make a local copy of the input value Cells(iRow, "A").Value = sData iRow = iRow + 1 'NOTE: Modification of a ByVal formal parameter is allowed inside the routine, but is poor programming practice Cells(iRow, "A").Value = sData End Sub Sub ByRefAndByVal() Dim iRow As Long Dim sMessage As String sMessage = "Hello World." iRow = 11 Debug.Print "iRow = " & iRow 'Output to Immediate Window (CTRL G in debugger) Call IncrementCounter(iRow) Debug.Print "iRow = " & iRow '12 expected iRow = 21 Debug.Print "iRow = " & iRow 'Output to Immediate Window (CTRL G in debugger) Call OuputValueToColumnA(iRow, sMessage) Debug.Print "iRow = " & iRow '21 expected Call ImprovedOuputValueToColumnA(iRow, sMessage) Debug.Print "iRow = " & iRow '21 expected End Sub تقبل تحياتي
    2 points
  15. هذا لازم تستخدم معادلة علشانه ، في الاستعلام مثلا: IIf([Selling] - Int([Selling])=0,Format([Selling],"#,###",Format([Selling],"#,###.##")) جعفر
    2 points
  16. تفضل اخي الملف جاهز مع الكود ( الكود لا ينفذ العمل الا اذا امتلأ اخر صف في الجدول ) WALID salim1.rar
    2 points
  17. السلام عليكم ورحمة الله وبركاته إخواني الكرام .. من فترة وأنا أريد طرح هذا الموضوع ، ولكني بسبب الزهايمر على ما يبدو فإني قد نسيته تماماً .. وذكرني به الأخ الحبيب والمعلم الكبير عادل حنفي فأحببت أن أشارككم هذا البرنامج الصغير في حجمه الكبير في فائدته البرنامج هو Smart Indenter VBA .. يقوم البرنامج بترتيب أسطر الكود بحيث يسهل قراءة الأكواد ..كنوع من التنظيم تنصيب البرنامج سهل للغاية ومش محتاج شرح ... بعد التنصيب ادخل على محرر الأكواد لديك وفي أي موديول مكتوب اعمل كليك يمين ستجد الأداة منصبة في الأوفيس لديك يمكنك اختيار ترتيب الإجراء الفرعي فقط أو الموديول بالكامل أو جميع الأكواد في المصنف مرة واحدة الأداة تعمل مع نظام 32 بت فقط أما 64 بت فلا تعمل للأسف أرجو أن يكون البرنامج مفيد للجميع حمل البرنامج من هنا
    2 points
  18. السلام عليكم ورحمة الله وبركاته الحمد لله والصلاة والسلام على رسول الله وعلى اله واصحابه اجمعين. ========================================================================================================================= اليكم ملف اكسيل حسابات عامه من قيود اليومية وحتى الميزانيه لشركات المقاولات -مع انى لم اعمل فى نشاط المقاولات -بشكل خاص وجميع الانشطة بشكل عام مع تعديل دليل الحسابات . وهذا الملف ربما سيكون الاخير لى فى 2014 نظرا لضغوط العمل . واطلب من الجميع الا ينسانى فى دعاؤه . باسوورد محرر الاكواد 12345 وايضا باسورد الحمايه للمعادلات . اصدار الاوفيس من 2007 وحتى اخر اصدار . ========================================================================================================================= ماعليك الا ادخال قيد اليومية فقط والضغط على زر الترحيل ========================================================================================================================= استخدمت فى البرنامج الاكواد والمعادلات والpivottable واشكال بيانيه فى التنسيقات الشرطيه وادمجت معادلات فى الاشكال البيانيه ========================================================================================================================= لاتنسونا بصالح دعاؤكم ملف المقاولات الاصدار الاول تجريبى.rar
    1 point
  19. السلام عليكم ورحمة الله وبركاته بعد تحياتي لكم جميعا ، اريد كود يوضع في الحالي للنموذج يقوم بتعطيل قائمة حوار بحث واستبدال عن الضغط على زر ctrl + f
    1 point
  20. السلام عليكم انا ابدا ما صار معي هذا الشئ في اي من برامجي ، نعم اثناء التصميم حصل (وهذا بسبب إهمالي ، حيث عندما تغير في كود النموذج ، فيجب ان يكون النموذج في وضع تصميم) ، وحصل ان مربع سرد عطب كذلك ، ولكن لنفس السبب. هذا معناه ، اننا يجب ان نراجع تصميم واجهة برنامجك ، وفهم البيئة التي يشتغل فيها البرنامج ، وطبعا لا يجب السماح للزبون بالوصول لوضع التصميم. نعم ، قد يكون نموذج الواجهة شبه معطوب من كثرة التعديلات عليه ، و بيئة الزبون من نوع الوندوز وتحديثاته ، والاكسس وتحديثاته ، وانقطاع الكهرباء (وهي احد الاسباب الرئيسية في العطب) ، وشبكة بها اكثر من اصدار أكسس ويعملوا على برنامج واحد ، مما يؤدي الى حدوث العطب الكامل لنموذج الواجهة ، ونوع الشبكة ، وهل هناك اتصال لاسلكي للبرنامج عند الانتهاء من عمل برنامج ما ، اعمل برنامج جديد واستورد كل كائنات البرنامج اليه ، واستعمل هذه النسخة ، فلو كان هناك عطب في احد كائنات البرنامج السابق ، لما تم استيراده جعفر
    1 point
  21. السلام عليكم بالفعل اخى الفاضل انت على حق على الرغم من اننى جربت مجموعه قليله من الارقام وظبطت معى .. حظ بقى .. فكرة المعادلة المقدمة هى التقريب فى عمود الاجمالى وليس الصافى وهنا يأتى دور شرح على اى اساس يتم التقريب الى 5 او 10 او 15 او 20 ... سأحاول ايجاد فكرة اخرى .. ان شاء الله .... تقبل تحياتى
    1 point
  22. الشرف لينا اخى الغالى خالد يكفينا صحبتكم الجميله وانتم نعم الصحبة والخلان نسال الله ان يبارك لنا فى الصحبه والاخوه لكم منى ارق واطيب الامنيات بالتوفيق ودوام النجاح سلام الله عليكم طبتم واهتديتم
    1 point
  23. أخي الحبيب شعبان لما عملت الملف عملته بناءً على الكلام الموجود في المشاركة الأولى .. وبعمليات حسابية بسيطة تم المطلوب كما شرحه أخونا العزيز عبد العزيز .. حاول أن تنظر في المرفق وتشوف المعادلة .. المرفق بسيط جداً ولا يوجد الكثير من المعادلات فقط معادلتين جمع والمعادلة الأساسية لحساب المطلوب
    1 point
  24. قمت بعمل مراجعه تانى على السريع ولكن هناك بعض الاخطاء اللتى تظهر معى مرفق صوره تظهر عند الضغط على زر الترحيل كذلك عند الانتقال من صفحة التحصيلات لصفحة بيانات العملاء يواجهنى بعض الاخطاء ممكن تكون الاخطاء دى بتظهر لان الجهاز اللى بشتغل عليه دلوقت اوفيس 2003 برضه هجرب لما اقعد على الجهاز التانى اكتر واوافيك بالنتيجه بالتوفيق ياغالى 1.bmp
    1 point
  25. وبردو نسيت تضع اسم الإجراء الفرعي .. الكود داخل ع الحامي !! أرجو أن تتقبل ملاحظاتي وفيه ملحظة بالنسبة للنوعية دي من المتغيرات يفضل أن نطلق سراحها في نهاية الكود بهذه الجملة Set INSH=Nothing
    1 point
  26. بارك الله فيك أخي العزيز صلاح المصري في الكود أعلنت عن المتغير IN_SH من النوع ورقة عمل .. ولم تستخدمه في الكود ، واستخدمت المتغير pro بدلاً منه ولم تعلن عنه ... اضبط الكود يا كبير جزاكم الله خير الجزاء ..أيوا كدا عايز أشوف شغلك في المنتدى يا أبو الصلح تقبل وافر تقديري واحترامي
    1 point
  27. مساء الخير هل هناك طريقة تجميع عن طريق الصفوف بدل من الاعمده حاول اعملها ما تضبط معي
    1 point
  28. السلام عليكم حياك الله - جزيت خيرا ممنون
    1 point
  29. اسف على الخطأ اعلمني اذا كان المرفق طلبك تقبل تحياتي واعتذاري استدعاء بيانات2.rar
    1 point
  30. اتفضل المعادلة مطبقة بالمرفق تواتي_2.rar
    1 point
  31. والله انت برنس وضحكتني وادخلت السعادة الي قلبي وموضوع خطيررررررررررررر وجاماااااااااامد الله يوفقك ويسعدك كان نفسي اتعلم ام البرمجه من زمان بس كل ما اشوف الاكواد مرصوصة رصة التنين . اتخض واطلع جري برا واعتمد اني اقتبس وبرده مبينفعش :) يلا جزاك الله خير
    1 point
  32. اشكرك اخ محمد بس مشكلة الفوردر ان لو حد غير اسم او حذف الملف يبقي انتهي الامر بابسط صورة اما وجود المرفق داخل القاعدة محافظ عليه
    1 point
  33. معلش خذني على قد عقلي ، واعطنا مثال لوسمحت جعفر
    1 point
  34. انت اعمل للاستعلام تقرير ويصير تتحكم في طريقة النتائج افضل لك
    1 point
  35. أخي الكريم أحمد الكود يوضع في حدث المصنف وليس في حدث ورقة العمل .. وتتأثر اوراق العمل باالتغير بسبب الكود في الخلية B4 ودا أول سطر بنقول فيه لما يكون عنوان الخلية يساوي B4 يتم تنفيذ التالي اللي هو إن الخلية B4 في ورقة العمل الأولى والتانية والتالتة تساوي التغير اللي حصل في أي ورقة عمل في نفس العنوان أي في نفس الخلية أعتقد الكود واضح وبسيط
    1 point
  36. ابدا مافي مشكلة ولا اشكال جعفر
    1 point
  37. أخي الحبيب رجب جاويش وهذا الكود هدية مني Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Target.Address = [B4].Address Then Application.EnableEvents = False Dim vSheet For Each vSheet In Array("Sheet1", "Sheet2", "Sheet3") Sheets(vSheet).Range("B4").Value2 = Target.Value Next vSheet Application.EnableEvents = True End If End Sub تقبل تحياتي
    1 point
  38. وهل هناك مشكلة عند الجمع او الطرح اوغيرها من العمليات
    1 point
  39. وليش خيفان ، اضف العلامة اول السطر وجرب جعفر
    1 point
  40. تسلم ايدك انت ومجهودك داخل المنتدى حبيبي الغالي ابو البراء منكم نتعلم حبيبي وتفضلو نفس الفكرة بس على حجم الفونت وهنا الحجم "10" وتقدروا تنفذو الفكرة على اشياء كتير Sub Yasser2() Dim Rng As Range Application.ScreenUpdating = False For Each Rng In Range("a3:g31") If Rng.Font.Size = "10" Then Rng.ClearContents End If Next Rng Application.ScreenUpdating = True End Sub تقبل تحياتي مسح بيانات بمعلومية حجم الخط.rar
    1 point
  41. أخي الحبيب ياسر العربي بارك الله فيك وجزاكم الله خيراً على الموضوع المتميز ...والفكرة الجميلة تسلم الأيادي تقبل تحياتي
    1 point
  42. اليكم اخى الكريم بالمرفقات المطلوب حسب فهمى وتقبل منى وافر الاحترام والتقدير ترقيم الفواتير1.rar
    1 point
  43. وعليكم السلام هناك 3 طرق للتعرف على الحقل الذي قيمته Null (لا قيمة ، او قيمة غير معروفة) ، سنعمل على هذا جدول ، ولاحظ السجلات الفاضية: . في الطريقة الاولى (IsNull) قلنا اذا الحقل Null ، فاعطنا النتيجة 0 ، في الطريقة الثانية (Len) قلنا اذا عدد حروف الحقل تساوي صفر ، فاعطنا النتيجة 1 ، . والنتيجة: . لكن الامر الاكثر إتباعا هو Nz ، ومعناه Null to Zero ، والامر هو NZ([Field_Name], Value to Replace)Q ، واليك 4 امثلة عليه: 1. الطريقة الخطأ في استعمال الامر ، حيث لم نخبر الامر النتيجة التي نريدها في حال اكتشف ان الحقل فاضي ، 2. اذا كان الحقل Null ، فحول نتيجة الحقل الى 0 (وهذه الطريقة الاكثر اتباعا) ، 3. وممكن ان ، اذا كان الحقل Null ، فحول نتيجة الحقل الى 1 (او اي قيمة ثابته) ، 4. والقليل يعرف ، اذا كان الحقل Null ، فتستطيع ان تعطي اي قيمة/معادلة شئت للحقل (لاحظ انا ضرب قيمة الحقل Field1 في 100 وفي 200 ، حسب قيمة Field1) ، وحتى يمكننا ان نستدعي دالة Function : . والنتيجة: . جعفر 292.Nulls.mdb.zip
    1 point
  44. السلام عليكم ورحمة الله وبركاته كيف حالكم إخواني الكرام في المنتدى الغالي؟ لقيت نفسي نفسي (نفسي الأولى غير التانية ..) نفسي الأولى يعني أنا - وأعوذ بالله من كلمة أنا - ، ونفسي التانية يعني حاجة أتمنى أعملها .. المهم لقيت نفسي أعمل حاجة مختلفة .. بشكل مختلف .. بأسلوب مختلف يكون فيه عنصر التشويق والإثارة والبساطة مجتمعين في نفس الوقت. كتير مننا أول ما يسمع كلمة البرمجة والأكواد يتخض وكأن الموضوع مستحيل ...أبدا كل الحكاية إننا بنبدأ غلط مش بناخد الخطوات الصحيحة لتعلم البرمجة. لو عايز تتعلم البرمجة ونفسك بجد تبدأ تتمكن فيها خليك معايا ، هنقضيها رغي شوية وهزار شويتين ، وجد مش كتير ... ايه رأيكم؟ نبدأ على بركة الله .. أول حاجة بعد ما تنصب الأوفيس وتفتح الإكسيل تلاقي اللي انت عايزه مش موجود طيب نظهره إزاي ؟؟ ببساطة فيه زر أوفيس فوق شمال هتضغط عليه وتضغط Excel Options هتلاقي نافذة فيها خيار اسمه Show Developer tab in the Ribbon يعني إظهار التبويب ، وهتلاقي جنبه مربع تحط فيه علامة صح مبروك الخطوة الأولى واحد هيقولي عندك اقف أول خطوة فشلت فيها ..هقوله ربنا ما يحرمنا من الفشل لأن الفشل أول طريق النجاح .. هقولك لو ملقتش اللي بحكي عليه يبقا اصدار الأوفيس مختلف أنا شغال على 2007 ، وحضرتك على 2010 أو 2013 (بالنسبة ل 2003 والله ما أنا معبره كفاية عليه لحد كدا) ... بالنسبة لـ 2010 و 2013 بيكون من قائمة File ثم Options ثم من القايمة الشمال فيه Customize Ribbon وفي الناحية اليمين هتلاقي قائمة بالتبويبات وجنب كل تبويب علامة صح اللي يعجبك علم عليه صح واللي ميعجبكش ارميه في الزبالة... المهم هتلاقي التبويب اللي هيفتح لنا الباب لعالم البرمجة .. دا كان المفتاح للدخول نخش لتاني حاجة المفتاح عشان يفتح معاك لازم تحط عليه شوية زيت ، يعني لازم تضبط إعدادات الماكرو عشان الأكواد تشتغل معاك تمام من التبويب الجديد انقر على Macor Security هيفتح معاك نافذة بتختار منها آخر خيار Enable all macros وبتعلم علامة صح على الخيار اللي جنبه مربع Trust access to VBA الحمد لله خلصنا من النقطة الأولى والتانية ... ننتقل لنقطة جديدة : هيظهر التبويب في الآخر .. جمد قلبك واشرب ديو وافتح الباب لمحرر الأكواد اضغط على Visual Basic من التبويب المذكور أو لو بتحب تتعامل مع الكيبورد اضغط Alt + F11 كدا الباب الحمد لله فتح .. لو أول مرة تدخل على محرر الأكواد متتخضش واحدة واحدة هبندا نتعلم كل اللي موجود .. المهم محدش يستعجلني عشان أنا مستعجل النافذة دي اسمها نافذة المشروع Project window يعني الإكسيل بيتعامل مع المصنف إنه مشروع .. والمشروع مكون من 3 شيتات اللي بنسميهم أوراق العمل Sheet1 و Sheet2 و Sheet3 بس في 2013 الحمد لله بيكون الوضع الافتراضي شيت واحد بس (أصلي بتخنق من حتة 3 شيتات ع الفاضي بحس إن الملف كبير ع الفاضي وكل اللي يلزمني للعمل بشكل مبدئي هو شيت ولما أحب أضيف جديد مش هيكون أمر صعب) المهم مع أوراك العمل بنلاقي الكائن المسمى بالمصنف WorkBook ودا اللي بيحوي التعابين كلها أقصد الأكواد .. طيب محدش سألني ايه المنطقة الرمادي دي ومالها ضلمة ليه كدا؟ أنا أقولك عشان إنت تنورها .. اضغط دبل كليك على Sheet1 مثلا في نافذة المشروع هتلاقيها نورت والحمد لله استعداد لبداية الاحتفال بس فيه نقطة الأكواد لو اتكتبت هنا هتأثر على الورقة دي بس ... في الحتة اللي نورت الصق الكود اللي جاي ده وأفضل تكتبه بايدك عشان أنا شايف ايدك بتترعش وخايف .. قلت لك جمد قلبك الموضوع بسيط نبدأ بكود كدا سهل ولذيذ Sub Hello_Officena() MsgBox "Hello Officena!" End Sub أول كلمة Sub يعني ابدأ صب اللي عندك .. لا غلط .. معناها إجراء فرعي Subroutine يعني بينفذ مهمة محددة. وفي آخر الكود End Sub عشان القفلة (لو فاكرين شعبان عبد الرحيم بيقول ايه في الآخر بس خلاص دي القفلة بتاعته) هنا بقا دي القفلة بتاعت الإجراء الفرعي.. طيب ايه Hello_Officena دا اسم الإجراء ودا له قواعد أول حاجة مينفعش يبدأ برقم 77Hello_Officena ولا ينفع يكون فيه مسافة زي كدا Hello Officena بس ممكن لو حبينا بدل المسافة بحط Underscore اللي هي بتيجي بـ Shift + العلامة اللي على يمين الصفر اللي في الأرقام اللي فوق مش الأرقام اللي ف لوحة الأرقام .. وبردو فيه حاجات محرمة في اسم الإجراء زي علامة # أو $ أو % أو & أو % أو النقطة أو الفاصلة أو أو .. بقولكم ايه كفاية كلام عن اسم الإجراء .. لو كان فيه حاجة غلط في الاسم هيطلع لك رسالة خطأ تعرف إن فيه حاجة مش مظبوطة!! طيب السطر اللي في النص دا هو دا الكود .. الإجراء أو المهمة المراد تنفيذها .. بتبدأ بكلمة MsgBox ودي اختصار للكلمة Message Box أي صندوق الاسم ..... والله انا سرحت بس مش همسح اللي بكتبه خلي الكلام يكون تلقائي .. ودي بنكتب وراها الرسالة اللي عايزين نظهرها .. وطبعا فيه مسافة بعد الكلمة والكلام اللي هو الرسالة دا نص فنحطه بين أقواس تنصيص " " .. واحد برق لي عينه بيقولي بتتعمل إزاي دي قول لأقتلك .. هقوله حاضر يا باشا هقولك دي بتيجي إزاي .. اضغط على Shift وبعدين حرف الطاء بس خلاص .. طبعا أقواس التنصيص في أول النص وفي آخره مهو لازم القفلة. نجرب نشغل الكود إزاي .. فيه أكتر من طريقة يا إما تضغط على مثلث لونه أخضر فوق في شريط الأدوات الموجود في محرر الأكواد .. مش عاجبك شكل المثلث الأخضر خلاص روح لقائمة Run واضغط أول أمر .. لو انت تلميذ ذكي هتعرف الطريقة التالتة من التانية .. هسيبكم تقولوها إنتو ..مش عارفين !! طيب هقول أنا وخلاص اضغط على F5 من لوحة المفاتيح بس بشرط يكون مؤشر الماوس واقف في الكود.. لما نشغل الكود دا اللي هيظهر لي وبكدا أكون وصلتكم وفتحت لكم الباب .. لو عايزين نكمل قولوا كمل مش عايزين .. يبقا كفاية لحد كدا ويا كود ما يقربش منك حد .. ونعمل بالمثل الفلاحي اللي بيقول : ابعد عن الكود وادعي عليه! والسلام عليكم سبحانك اللهم وبحمدك .. نشهد أن لا إله إلا أنت ..نستغفرك ونتوب إليك كان معكم على الهواء مباشرة أخوكم أبو البراء من ملعب أوفيسنا .. إلى اللقاء مع مباراة جديدة وأهداف جديدة وشيقة دمتم بود ====================================== ====================================== السلام عليكم نرجوا وضع ردود الشكر والاعجاب على الرابط ادناه هنا ====================================== ======================================
    1 point
  45. الحلقة الثانية ونبدأ حلقة جديدة من حلقات مسلسل افتح الباب يا عبد التواب .. اتعلمنا المرة اللي فاتت إزاي ندخل على محرر الأكواد وإزاي نضيف كود واتعرفنا على نافذة المشروع .. دلوقتي جه الوقت اللي لازم تعرف فيه الهيكلة العامة للتعامل مع الأكواد .. يعني ايه ؟ هضرب مثال ليتضح المقال : أنا ساكن في عمارة كبيرة (العمارة زي تطبيق الإكسيل Application) دي العمارة بتاعتنا وساكن في شقة فيها (الشقة دي هي WorkBook المصنف يعني .. والشقة عندي فيها 3 أوض (أوضة 1 - أوضة 2 - أوضة 3 ) دي زي أوراق العمل اللي عندنا Sheet1 و Sheet2 و Sheet3 جوا كل أوضة فيه مجموعة أشياء أو بنسميها كائنات Objects بس حاجات صغيرة.. مثلا فيه تلاجة .. والتلاجة طبعا واخدة حيز من الفراغ بنسميه نطاق Range يعني النطاق ده جوا الأوضة اللي جوا الشقة اللي في العمارة يبقا ممكن نبرمج التلاجة : أيوا صحيح !! هنحدد مكانها .. عمارة.شقة.أوضة(1).تلاجة.فتح بالإكسيل تكون بالشكل ده : Application.ThisWorkbook.Sheets(1).Range("A1").Select بكدا نكون عرفنا هيكلة الكائنات الموجودة عندنا Objects .. في السطر اللي فات بدأنا بالعمارة أقصد التطبيق متبوعاً بنقطة Period ثم حددنا الشقة أقصد المصنف Workbook وهنا أشرنا للمصنف الحالي ThisWorkbook، وبعدين حددنا الأوضة اللي هي الشيت Sheets (1) ثم أخيرا التلاجة أقصد النطاق المراد العمل عليه وهو هنا الخلية A1 بهذا الشكل Range("A1) . >>> وأخيرا .. بعدما وصلنا للتلاجة هنعمل ايه ؟ أكيد هنفتحها عشان نشوف أي حاجة نشربها بعد الكلام الكتير ده الواحد ريقه نشف اللي يبل ريقكم .. أيوا نفتح دا فعل والفعل في اللغة العربية نعرفه إزاي .. لما نحط قبليه كلمة (أن) يعني لو قلنا (أن يفتح) كدا فيه معنى واضح .. أما لو قلنا كلمة حجم وحطينا قبليها (أن حجم) دي ملهاش معنى ، فبالتالي كلمة يفتح فعل أما كلمة حجم فدي اسم أو صفة (كدا معلمي اللغة العربية هيبلغوا عني إني بدي دروس في العربي) !! يرجع مرجوعنا لموضوعنا إحنا ليه شرحنا الفعل لأن الفعل في البرمجة بيساوي كلمة Method يعني لما نشوف كلمة Method دي نربطها بحدث الفعل تلاجة.فتح يعني لو جربنا السطر اللي فات ووقفنا في خلية بعيدة شوية ونفذنا الكود هيحدد الخلية A1 .. مبروك عليكم السطر الأول من الأكواد الفعل هنا أو الـ Method اسمه Select وترجمتها حدد .. أي أننا قمنا بالإشارة لكل الكائنات وصولا إلى الخلية A1 ثم نأمر الكود بتحديد النطاق. ناخد مثال مهم أوي عشان نفهم الـ Method بشكل أكبر Application.Quit هنا لما اكتب الكائن Application وبعدين أكتب النقطة هلاحظ حاجة في غاية الأهمية .. ايه هيا؟ محرر الأكواد بيقدم مساعدة لينا (ودي عشان الجماعة اللي بيقولوا المشكلة في اللغة .. خلوا بالكم) بيظهر لنا قايمة شبه القايمة المنسدلة بس مش منسدلة فيها كلمات كتيرة .. وهنلاقي شكلين : الشكل الأول عمنا بيل جيتس بيشاور بصبعه على ورقة والشكل التاني علامة شبه الطوبة الخضرا .. الشكل الأول بنسمية الخاصية Property وهنشرحها بالتفصيل كمان شوية ، والشكل التاني الطوبة الخضرا ربنا يجعل حياتكم خضرا ومزهزهة هي دي الـ Method أو الفعل طيب هعرف إزاي إذا كانت كلمة Quit دي Method ولا Proerty ببساطة بص على شكلها هتلاقي علامة الطوبة الخضرا اللي قلنا عليها يعني كلمة Quit دي Method وطبعا الحتة اللي فاتت للجماعة اللي مش بيعرفوا إنجليزي زي حالاتي ، أما بالنسبة للي بيعرفوا إنجليزي فيبصوا لكلمة Quit هيلاقوا معناها اخرج ودا فعل يعني Method> يبقا خلاصة الكلام السطر اللي فات بيعطي أمر للخروج من التطبيق. نقطة تانية في غاية الأهمية لما نلاقي نفسنا مش عارفين حروف الكلمة اللي بنكتبها .. بعد النقطة ولما تظهر القايمة بكتب أول حرف أو حرفين في الكلمة اللي أنا عايزها ، وبعدينباستخدام الأسهم فوق وتحت أقف على الكلمة اللي عليها العين والنن واضغط TAB من لوحة المفاتيح اللي تحت حرف الذال يا رجالة (أنا عارف إن فيه ناس هتدور دلوقتي على حرف الذال ومش هتلاقيه . بصوا في لوحة المفاتيح أيوا بصوا .. فوق شمال فوق شمال فوق شمال تحت زر Esc هتلاقي حرف الذال ، وتحت الذال هتلاقي Tab عليها سهمين سهم متجه لليسار وآخر لليمين .. لو ملقتش السهمين قوم حالا رجع لوحة المفاتيح للراجل اللي إنت اشتريت منه دا نصب عليك) المهم لما نضغط Tab هنلاقي الكلمة اتكتبت لوحدها .. يا سلام ونعم الكلام ونعم المساعدة شكرا يا بيل !! ممكن أريح ايدي شوية عشان والله ايدي تعبت !!! ---------------------------------------------- طيب دي الـ Method فيه حاجة تانية اسمها Property ودي ترجمتها خاصية (وتشمل زي ما قلنا الاسم أو الصفة) تلاجة.حجم حجم دي هي خاصية التلاجة Property فلو حبينا نضع قيمة لحجم التلاجة تلاجة.حجم = 10 قدم نلاحظ إن الخاصية ليها قيمة وعشان نضع قيمة ليها بنحط علامة يساوي متبوعة بقيمتها ناخد مثال على الخاصية Property عشان عارف إنتو تهتو مني ... ركزوا يا شباب! Application.Caption= "Officena" طبعا إحنا عارفين شريط العنوان بيكون فيه اسم الملف أو المصنف متبوعا بشرطة - وبعدين اسم التطبيق Excel طيب لو حبينا نخليه باسم منتدانا الحبيب يبقا ننفذ السطر اللي فوق الكلمة اللي جات ورا Application اللي هي كلمة Captionدي خاصية من خواص التطبيق مش فعل يا مستر حمدي .. وطالما إنها خاصية فبنحدد ليها قيمة بعلامة يساوي (واحد هيعمل فيها مركز طيب إحنا نسينا علامة يساوي مع Quit أقولك الفعل مش بيتحدد له قيمة ، القيمة بتكون مع الخاصية أو الاسم أما الفعل له حاجات تانية اسمها بارامترات .. متخرجنا برا الموضوع) المهم بنحدد قيمة للخاصية وليكن مثلا كلمة Officena وطبعا دي نص ، وعرفنا من المرة اللي فاتت إن النصوص توضع بين أقواص تنصيص " " .. اللي مش عارف يرجع يراجع من الأول أنا مش بحب أكرر المعلومة أكتر من 100 مرة .. لو نفذنا بقا السطر اللي فات هنلاقي شريط العنوان اتغير (يا حلااااااااوة) واحد هيقولي طيب إزاي نكتب الأسطر اللي إنت نازل دش فيها أقولك فيه قايمة اسمها Insert اختار منها Module أو فيه علامة في شريط الأدوات جنب علامة الإكسيل على يمينها علطول اختار منها Module ,وضع فيها الأسطر المراد تنفيذها يرجى مراعاة حاجتين الأسطر مبتكونش عريانة كدا لازم نغطيها بلحاف وبطانية يعني اللحاف Sub وبعدين اسم الإجراء ، والبطانية End Sub ونحاول عشان نقدر نتعلم صح نبص كويس قبل تنفيذ الكود وبعده يعني في المثال الأخير بص لشريط العنوان هتلاقي Excel مشرف في العنوان ، وبعد تنفيذ الكود هتلاقي Officena هي اللي نورت ... وإلى لقاء في حلقة جديدة من حلقات افتح الباب أسأل المولى عزوجل أن ينفع بهذا الرغي جموع المسلمين وأن يكون شاهدا لي لا علي ..
    1 point
  46. السلام عليكم هذه نسخة من البرنامج بتنسيق 2003 وقريبا ان شاء الله سوف اقوم بارفاق نسخة 2007 اخوكم علي عبد الحميد - ابو فهد Str2003.zip
    1 point
  47. اعزائي الكرام السلام عليكم ورحمة الله وبركاته كما وعدناكم اهديكم هذا العمل الجميل لتعلموا قوة برنامج الاكسيس من الناحيتن الجمالية والعملية فهذه مفكرة مواعيد تم عملها ببرنامج الاكسيس ثنائية اللغه عربي / انجليزي تستطيع الاختيار بينهما لترى الواجهة والقاعدة تتحول مباشرة الى الوضع المطلوب سواء عربي او انجليزي . يوجد بالبرنامج عدة افكار جميلة وغاية في الروعة لمحبي الاكسيس ومنها : 1. تقويم عربي و انجليزي 2. بحث متطور 3. ارسال بريد 4. امكانية استخدام التعبيرات في المواعيد 5. امكانية ادخال المواعيد بالعربية او الانجليزية 6. معاينة التقارير وطباعتها وهناك الكثير الكثير واترككم تستمتعون بها ودراسة الاكواد . اختكم زهره Access_Diary_Daily.rar
    1 point
×
×
  • اضف...

Important Information