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

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

  1. محمد الريفى

    محمد الريفى

    الخبراء


    • نقاط

      4

    • Posts

      1,492


  2. ياسر أحمد الشيخ

    ياسر أحمد الشيخ

    04 عضو فضي


    • نقاط

      4

    • Posts

      614


  3. yms12

    yms12

    03 عضو مميز


    • نقاط

      4

    • Posts

      264


  4. جمال عبد السميع

    جمال عبد السميع

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


    • نقاط

      4

    • Posts

      3,724


Popular Content

Showing content with the highest reputation on 23 فبر, 2015 in all areas

  1. السلام عليكم ورحمة الله اخي الفاضل MoChekEs هولاء من مشرفين وخبراء واعضاء ليسوا موظفين في المنتدى وانت مشترك ودافع فلوسك . علي الاقل اسلوب تعبيرك في الرد يؤلم ولو انه بغير قصد وبحسن نيه لو انك طلبت ان يعمل لك المطلوب بإسلوب مقبول بلطف وإستحسان صدقني لعملوا لك اكثر مما تتصور انت صاحب الحاجة مادمت تقول عادي شي بسيط كنت انت من عمله وشرحت عليه طلبك لكن ان تقول لمن يريد مساعدتك وليه انا اعمل لك او ارفق ملف هذا غير مقبول من الجميع. بارك الله فيك ليس هكذا تؤكل الكتف. الاستاذ ياسر جزاك الله خير وانت شخص لطيف وذوَاق واخلاق حميدة واللي مايعرفك يجهلك
    3 points
  2. السلام عليكم ورحمه الله وبركاته بعد اذن الأخ محمد الريفى هذه المعادلة نفس فكرة معادلتك أخى ولكن قمت باختصارها وشكرا اخر مستعير للجهاز_BY Yasser.zip
    2 points
  3. السلام عليكم أخي الحبيب / ابو القبطان جزاك الله خيرا مرورك شرف كبير أخي الكريم / Ultimate Power تفضل المرفق به كل ماطلبت لاحظ الآتي: في ورقة الموظف ستجد زر أصفر يرجعك للورقة DailyDatabase عند الضغط علي الزر الأحمر (Delete + Shift to Monthly) سيحذف البيانات بعد أن يرحلها للتقرير الشهري في ورقة (Main) ستجد زر (تحديث القائمة) لانشاء وتحديث قائمة ارتباط باسماء الموظفين New2_sample.rar
    2 points
  4. وأنا أتعب نفسي ليه لما ممكن متعبهاش !!!!!!!! يا أخي الفاضل من قواعد المنتدى إرفاق ملف للموضوع لتسهيل الوصول لحل سريع .. ووو مش هحكي أكتر من هيك !!
    2 points
  5. السلام عليكم ورحمة الله وبركاته اشكر كل القائمين على هذا الصرح العظيم واشكر الاخوة الاعضاء على مشاركتهم الخبرات ومساعدة اخوانهم مرفق ملف لاحتساب دوام الموظفين والوقت الاضافي ولكن نجد صعوبة في جلب البيانات من جهاز البصمة لذلك قمنا بادخالها يدوي بعد محاولة اخي وصديقي ابوفارس في حل الموضوع بهذا اللنك http://www.officena.net/ib/index.php?showtopic=59061&hl ولصعوبة الامر وعدم دقته نرجوا من الاخوة الكرام وعلى راسهم ابن مصر بالمساعدة واكرامنا هنا كما اكرمنا بالكوفي شوب ولكم جزيل الشكر Overtime.rar
    1 point
  6. السلام عليكم لم تجد في المنتدى من يتعدى على حقوق الاخرين الحصريه ويقوم بالكسر هل انت من صمم هذا البرنامج ام هوه من تصميم شخص اخر على العموم فالبرنامج بسيط واعتقد ان حماية ابسط منه اقصد البرنامج بالتوفيق
    1 point
  7. هذا مثال مبسط لكن الواقع يختلف لأنه ليس من الضروري أن التاجر اشترى عشر قطع و باعها كلها و هنا يسهل حساب الربح بل الشائع أن التاجر اشترى عشر قطع اليوم بسعر عشر للحبة و غدا اشترى خمس قطع بسعر تسعة للحبة و بعده اشترى ثمان قطع بسعر 11 للحبة ثم بعد ذلك باع قطعتين بسعر تسعة للحبة , فكم هو مقدار الربح هنا ؟ و بعده باع ثلاث قكع بسعر تسعة و نصف و هكذا يجب تحديد آلية حساب الربح
    1 point
  8. أهلا بالأخوة رمهان و yms وجودكما هنا يفتح النفس للعمل لي عدة ملاحظات : أولا : كما ذكرنا سابقا لابد من تحليل النظام بشكل دقيق حتى لا يكون هناك اضطرار للتغيير فيما بعد و ليس هناك عجلة على النماذج أو الاستعلامات لابد من تصميم الجداول بشكل سليم و صحيح أولا ثانيا : ذكرت الأخت أنها تريد معرفة الربح من كل عملية هنا ينبغي تحديد ماهي آلية حساب الربح من كل عملية ؟ لأن تسعير المخزون له عدة أسس محاسبية منها الوسطي و الأقدم و الأخير لذا ينبغي ذكر مثال رقمي عن عملية معينة و كيفية حساب الربح لها حتى يتم أخذها بالاعتبار ثالثا : أنا أفضل دائما العمل على جدولين واحد رئيسي و واحد فرعي , كما ذكر الأخ رمهان , و ذلك لجميع حركات المخزون من صرف و استلام و ليس من المحبذ استخدام جدول للوارد وجدول للمنصرف رابعا : من الخطأ الكبير جعل الرصيد حقلا من حقول الجدول كما ذكر الأخ yms , بل يتم استخراج الرصيد عبر الاستعلام خامسا : السؤال للأخ السائل , هل هناك حركات بين المستودعات ؟ سادسا : ألا تحتاجون جداول للعملاء أو النقدية ؟ سابعا : في التفصيل الذي ذكره الأخ رمهان , يضاف حقل رقم المستودع الى الجدول الرئيسي و ليس الفرعي و ذلك تسهيلا للادخالات , افرض لديك فاتورة بمئة صنف , لا تحتاج أن تدحل رقم المستودع في كل مرة وفقكم الله
    1 point
  9. ههههه كريم ابن كرماء رحم الله والديك مشكلة ابو فؤاد هي البيانات من جهاز البصمة كلها خطأ ودخاتني بالحيط معه مشكور على هذا العمل الرائع
    1 point
  10. اخى فى الله واستاذى بن مصر جزاكم الله خير على هذا الكود المتميز
    1 point
  11. اخى الفاضل بعد إذن اخوتى الكرام أ.محمد الريفي وأ.leprince2007 ولإثراء الموضوع مرفق حل آخر بالكود تحياتي LastOne-ByCode.rar
    1 point
  12. ما شاء الله الاخ الفاضل رمهان سلمت يمينك على هذه الهدية القيمة
    1 point
  13. السلام عليكم ورحمه الله وبركاته انظر أخى المرفق لعله يكون المطلوب لاحظ: تشترط هذه المعادلة عدم تكرار البيانات وشكرا البحث.zip
    1 point
  14. السلام عليكم اخى الكريم جرب هذه المعادله بصيغة الصفيف ctrl+shift+enter {=IFERROR(INDEX($C$3:$D$28;MATCH(MAX(IF($B$3:$B$28=$H3;ROW($B$3:$B$28);""));ROW($B$3:$B$28);0);1);"")} تحياتى اخر مستعير للجهاز.rar
    1 point
  15. اخى الحبيب سيف الدين حسام ننتظر الشرح من القدير أ.ياسر خليل فهو اقدر منى على ايصال المعلومة فالكود يحتاج وقت طويل جدا لشرحه بالكتابه ربما يكون عند الاستاذ القدير ياسر خليل متسع من الوقت ليفيض علينا من علمه بشرح الكود تقبل تحياتى
    1 point
  16. اخى الفاضل تكرم هنا وفي الكوفي شوب وفي اى مكان انت والغالى ابو فارس، تفضل الملف المرفق لعل به المطلوب .. برجاء بشيت البصمة ان تنتبه فقط للتواريخ حيث انها غير منسقة كتاريخ وهناك مسافة زائدة بعد السنة اى لابد ان تراعى تنسيق الخلايا كتاريخ بدون مسافات زائدة تحياتي OverTime.rar
    1 point
  17. الاستاذ الفاضل /رمهان لي الشرف ان تعلق على ما قمت به فانت استاذنا في هذا المنتدى ولى الفخر ان اتعلم منك دائما الجديد اما نلاحظتك في في محلها وانا اعلمها جيد ولكن اطن ان الاخت الفاضلة صاحبة السؤال مازالت مبتديئة وكنت اود ان تتقن الجداول بهذا الشكل ثم اقوم بالتعديل عليها حتى تعم الفائده وسوف اقوم بتعديل المطلوب ورفعة ان شاء الله مع خالص تحياتي
    1 point
  18. عزيزي ضع الحدث التالي للنموذج الفرعي OrdersSubFrm وعند الحدث في الحالي كما هو ظاهر Private Sub Form_Current() Me.DeltBtn.Enabled = Not Me.NewRecord End Sub وهنا لا نحتاج الى انه عندما تكون عدد السجلات صفر لانه في الاكسس تكون حالة السجل الافتراضية = جديد . فحتما ستكون حالة السجل جديد عندما لايوجد سجلات تحياتي
    1 point
  19. عزيزي Yms12 لي ملاحظة على ما قمت به وهو : لابد من فصل تاريخ الوارد ورقم مستند الورد بجدول مستقل وهو ما يسمى راس الفاتورة . ووضع رقم المادة والكمية والمبلغ والمستودع في جدول مرتبط يسمى تفاصيل الفاتورة ويرتبط برقم الوارد . ونفس الفكرة للخارج هناك راس وتفاصيل للخارج . هنا كما هو معروف في علم المخازن تسمى أي حركة على المخزن "اذونات" وتكون اذونات إضافة او اذونات صرف . طبعا انتو سميتوها داخل وخارج ولا مانع هنا من تغير التسميات ولكن الذي يجب هو اتباع الفكرة وسياسات المخازن . هنا نستخلص الجداول التالية وبفكرة معروفة في كذا حالات . وهي موجودة بالمنتدى هنا لو بحثنا قليلا . 1. الهيدر: رقم الهيدر- التاريخ - نوع الحركة ( هنا النوع داخل او خارج ) :هنا يوضع قائمة منسدلة من نوع قائمة قيم 2. تفاصيل الهيدر: رقم الهيدر( للربط ) - رقم المادة - الكمية - المبلغ - المستودع ( يربط مع جدول المستودعات )- كود التفصيل (ترقيم تلقائي) 3. جدول المستودعات : رقم المستودع - الوصف 4. جدول المواد : كما ذكر الأخ yms12 طبعا ممكن تغيير المسميات انا وضعتها على عجالة ارجو تنفيذ السابق وإعادة رفعه ( معليش اتعبناك كل شوية واحد عند فكرة وبتعيدي تنفيذها ) . لكن ممكن نتعب في البداية ولكن نرتاح في الأخير فاهم شي بناء القاعدة الأولى سليمة وصحيحة . بالتوفيق
    1 point
  20. الاخت الفاضلة تم التعديل على المثال ارجو ان يكون هو المطلوب مع تحياتي bb.rar
    1 point
  21. اخي العزيزصقرمشكورمشكورمشكوروالله الف شكر على مجهودك وباركالله فيك وللعلم هذا العمل من انشائي بالكامل حتى وصلك بهذا الشكل وبالنسبة لاستفسارك -الحكاية سهله وبسيطه 1-من قائمة ادوات في شيت الاكسيل اختر مشاركةفي المصنف 2- من التبويب تحرير ضع علامه صح امام السماح بالتغييرات بواسطة اكثرمن مستخدم واحد وفي نفس الوقت ومن التبويب خيارات متقدمه تختارمن تحديث التغييرات الوقت اللي بعده يعمل حفظ تلقائي وحدد ادنى مهله وهي 5 دقائق وكده كل 5 دقائق الملف يعمل حفظ تلقائي بالتغييرات اللي تتم من الاجهزة اللي تستخدم الملف ولو عملت حفظ يدوي اي جهاز يعمل حفظ يدوي هيشوف التغييرات اللي حصلت عللى الملف على حسب اخيارات التغيرات اللي بتعملها من تبويب الخيارات المتقدمه 3- اهم حاجة انك تحفظ الملف بتاعك في فولدر يكون عليه شير 4- تعمل شورت كت للملف بتاعك ثم تعمله نقل لللجهاز المراد استخدامه من طرفه وهكذا تعمل كذا شورت كت وتحطه في الاجهزة المراد استخدمه عليها
    1 point
  22. الاستاذ الكريم/ ابن مصر الاستاذ الكريم/ الصقر شكرا على مساعدتكم لى وعلى الاعمال الرائعه جزاكم الله كل خير وجعل اعمالكم هذة فى ميزان حسناتكم الملف يعمل جيدا والحمد لله
    1 point
  23. السلام عليكم ورحمه الله وبركاته بناء على طلب احد الاعضاء بطلب ملفات الاستاذ حمادة عمر تم تجميعها فى ملف واحد واليكم المرفق فى امان الله وحفظه طريقة عمل فورم بحث واظهار النتائج في ليست بوكس وتعديل النتائج بتكستات بوكس !! خطوة خطوة.rar
    1 point
  24. الأخ الفاضل أحمد تفضل المرفق التالي .. Create 400 Sheets.rar
    1 point
  25. الاخ اب اسماعيل اليك بالضبط ما تريد ترتيب عدة أعمدة.rar
    1 point
  26. السلام عليكم مرفق الملف مع أول طلبين إستحداث صفحات الموظفين والترحيل إليها بالضغط علي زر Shift مع امكانية حذف البيانات بعد الترحيل بالضغط علي الزر الأحمر تفضل المرفق New_sample.rar
    1 point
  27. الاخ ابا اسماعيل يمكن ذلك من خلال التعديل على الكود ليصبح هكذا: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column >7 or Target.Column<3 Then Exit Sub Columns(Target.Column).Sort _ Key1:=Cells(1, Target.Column), _ Order1:=xlAscending, _ Header:=xlNo, _ OrderCustom:=1, _ MatchCase:=False, _ Orientation:=xlTopToBottom End Sub
    1 point
  28. جزاك الله كل خير استاذ سليم هل يمكن ان تضيف كود لمسح الفراغات الموجودة بين الاسماء مع نفس الكود بحيث يتم ازالة الفراغات اولا ثم تتم الابجده
    1 point
  29. بعد أذن استاذى ابن مصر الغالى المهندس احمد تفضلى الملف المرفق بعد تثبيت الاكواد المذكورة استمارة128.zip
    1 point
  30. أخى الحبيب " mounirf " أولا - مرحبا بك عضوا جديدا فى منتدى أوفيسنا وأتمنى لك الإفادة والأستفادة معنا إن شاء الله ثانيا - أتمنى مستقبلا أن يكون سؤالك مشفوع بمرفق يحتوى على المطلوب وبه المتوقع كنتيجة " أى النتيجة التى تتوقعها من سؤالك " لأن هذا سيحدد بشكل دقيق ماالذى تريدة ، مما يسرع بالإجابة وبشكل دقيق وإذا كنت لاتدرى كيفية عمل ذلك 1- قم بعمل المطلوب على ملف إكسيل 2- ثم قم بضغطة ببرنامج " winrar " 3- ثم إضغط على " المحرر الكامل " سوف يقوم بنقلك لصفحة أخرى 4- ستجد كلمة " Browse " منها سوف تنتقل للمكان الذى وضعت به ملفك الذى قمت بعملة وضغطة " winrar " 5 - ثم قم بالضغط على " رفع الملف " وبذلك سوف تجد ملفك قد رفع بعد الضغط على " إضافة رد " إذن الصورة التى قمت برفعها غير كافية للعمل عليها قم بعمل ملف بالطريقة المشروحة ورفعها ستجد الكثير قد سارع لتقديم العون فى الإجابة لأنى لاأؤمن بهذه الصور حتى لوكانت الأجابة بسيطة ومباشرة من وجهة نظر البعض تقبل تحياتى
    1 point
  31. الاخت الفاضلة/ ريمي تحية طيبة اطلعت على المثال ووجدت به خطأ في بناء الجداول فيجب انشاء الجداول على النحو التالي 1- جدول الموادي كون به(كود المادة(مفتاح اساسي) - اسم المادة - الرصيد-اي بيانات تتعلق بالمادة 2- جدول الوارد (رقم مستند الوارد - تاريخ الوارد - كود المادة- الكمية-المبلغ-المستودع ان تطلب الامر الى وجود مستودعات) 3- جدول المنصرف(رقم سند الصرف- تاريخ الصرف- كود المادة - الكمية- اللمسلم ) ولكل ان تضيفي اي جداول تحتاجيها بعد ذلك يتم عمل النماذج والاستعلامات ملاحوظة من الافضل كتابة الحقول واسماء الجدواال بالحروف الانجلزية مع تمانياتي لك بالتوفيق
    1 point
  32. اذا كنت فهمت الحل أخى اضغط أخى تمت الإجابة
    1 point
  33. اختى الفاضلة جربي الملف المرفق تحياتى استمارة128.rar
    1 point
  34. السلام عليكم وجدنا في مشكلتك اخي الكريم فقط موضوع الترقيم التلقائي غير منتظم ولم نجد مشكلة التكرار لان موضوع التكرار في المثال المرفق غير وارد لان المفتاح الاساس للجدول هو الاسم (name) الحلول المقترحه 1 اجياد كود لاعادة الترقيم التلقائي (اذا كانت المشكله فقط في الترقيم التلقائي) 2 الحل الاسهل اذا كانت القاعدتين على نفس الكومبيوتر اوعلى نفس الشبكه فيمكنكم تقسيم قاعدة البيانات وجعل الجداول للقاعدتين (Base )و(client) واحده والتخلص من من اشكالات الاستعلام الالحاقي والترقيم التلقائي بالتوفيق
    1 point
  35. عزيزي انصحك بالبحث عن مواضيع ومشاركات عن فواتير البيع والشراء . فهي معروف بشكلها العادي تتكون الفاتورة من راس وتفصيل . الراس يحتوي على رقم الفاتورة والتاريخ ورقم العميل في حالة البيع ورقم المورد في حالة الشراء . اما المواد وكمياتها فتاتي في التفصيل وكذلك سعر الوحدة .... الخ . كما انه ليس من الصح وضع الحقول المحسوبة في الجدول الا في حالات خاصة وفي الإصدار 2010 حيث احتوى على نوع بيانات جديد اسمه "محسوب" . ذكرت لك هذا حتى لا تصل الى طريق مسدود في المستقبل . بالتوفيق
    1 point
  36. الحلقة الرابعة عشر ***************** السلام عليكم ورحمة الله وبركاته وحشتكم !! أكيد لا .. لأني لو وحشتكم كنتو فتحتوا الباب وسألتوا عليا .. عموما إنتو وحشتوني ، وعشان وحشتوني هاقدم لكم حلقة جديدة يمكن تفتكروني. النهاردة هتكلم عن حاجة ناس كتير شرحوها ، وشرحوها بشكل ممتاز ، ودا خلاني مش عارف أشرح إزاي ، لأن اللي شرحوها وفوا شرحها صراحة .. هنتكلم عن الحلقات (بس مش حلقات افتح الباب) الحلقات اللي هنتكلم عنها الحلقات التكرارية ، ومن اسمها هي عبارة عن حلقات بتتكرر (إضافة عظيمة!) اسمها بالإنجليزي Loops ودي مهمة جداً في عالم الأكواد ، محدش يقدر يستغنى عنها تقريباً .. نفترض إني دخلت الفصل (بما إني معلم) ولسه دي أول مرة أتعرف على الطلبة اللي في الفصل ..يا ترى أنا عندي استعداد أخلى طالب طالب يقوم وأنا أقوله قول اسمك والطالب اللي بعديه قول اسمك .. أعتقد إن ريقي هينشف ودماغي هتصدع ودا طبعا مش يرضيكم (مش كدا ولا ايه) ..أنا من النوع الكسول فكل اللي هعمله هعمل تكرار من أول طالب في الفصل لآخر طالب ، وأعطي الأمر مرة واحدة .. من أول طالب إلى آخر طالب قووووول اسمك يا حبيبي الطالب التالي هو دا شكل الحلقة التكرارية .. نبرمجها بلغة الـ VBA ... هنقول إن الفصل فيه 60 طالب (معلش دا واقع الفصول في مصر) .. نقطة مهمة مننساش إن الطالب متغير مش ثابت ، فنرمز للطالب المتغير بالرمز X مثلاً ... Sub Loops() Dim X As Long For X = 1 To 60 'Say your name Next X End Sub طبعاً الكود دا شوية له علاقة بالبرمجة وشوية هتش .. ايه اللي هنعمله ..زي ما اتعودنا (دايما) إننا نعرف المتغير .. ونركز في السطر الثاني بدأ بكلمة For متبوعة باسم المتغير اللي هو X وبعدين علامة يساوي عشان نحدد قيمة X المتغيرة (أو الطالب المتغير) وهنا القيمة ليها بداية وليها نهاية (كل شيء له بداية ونهاية) وبيفصل بين البداية والنهاية حرف الجر To وفي آخر الحلقة التكرارية جملة Next X وممكن نقول Next ونسكت ، ومحرر الأكواد هيفهم لوحده .. بس أنا تقليدي شويتين فخلينا نكتب المتغير ، عشان الكود ممكن يكون فيه أكتر من حلقة تكرارية .. الجزء المهم هو الجزء اللي بين السطرين ، وهو دا الأمر المطلوب تكراره ، السطر اللي هنا مجرد تعليق وهتش وملوش علاقة بالبرمجة .. بس حبيت أقرب لكم الفكرة بأسلوب جديد.. كدا لما أنفذ الكود اللي فات ، كل اللي عملته إني أعطيت الأمر مرة واحدة وبس (وأنا حاطط رجل على رجل ... الدورة تلف على طالب طالب ، ويقول اسمه ، ولما يخلص ، الدورة تنتقل للطالب اللي بعديه وهكذا إلى أن ينتهي الطلاب ، ولما الـ 60 طالب يخلصوا ..يتم إيقاف تنفيذ الكود... ناخد أول مثال بجد عشان نقدر نتعلم إزاي نستفيد من الحلقات التكرارية :: لنفترض أننا عايزين نرقم النطاق A1:A10 بالأرقام من 1 إلى 10يعني الخلية A1 = 1 والخلية A2=2 وهكذا ..طبعا الموضوع بسيط جدا Sub NumberRange() Range("A1").Value = 1 Range("A2").Value = 2 Range("A3").Value = 3 Range("A4").Value = 4 Range("A5").Value = 5 Range("A6").Value = 6 Range("A7").Value = 7 Range("A8").Value = 8 Range("A9").Value = 9 Range("A10").Value = 10 End Sub كود في منتهى الروعة .. شايف حسام بيضحك ويقولي عايزك ترقم النطاق من A1:A100 (وابتسم ابتسامة فيها شماته !!) نفكر شوية .. بقول نفكر شوية (بلاش تكمل الحلقة غير لما تبص في الكود وتفكر شوية .. فكر شوية واكسب التوفير في الوقت والجهد) ايه المشترك في أسطر الكود .. وايه المختلف .. المتشابه في كل الأسطر Range("A ").Value = والمختلف هو الرقم بعد حرف الـ A ، والقيمة اللي بعد علامة يساوي .. في السطر الأول الرقم اللي بعد حرف الـ A هو 1 ، والقيمة بعد علامة يساوي بردو 1 ، ونفس الكلام مع السطر رقم 2 ، ورقم 3 وهكذا يبقا أول حاجة تفكر فيها إنك المختلف أو المتغير أو الشيء الغير ثابت تضعه في متغير ، ودا لأنه مش ثابت ومتغير .. فنضع متغير باسم X مثلاً ونعمل حلقة تكرارية من 1 إلى 10 (دي القيم اللي هيحملها المتغير) Sub NumberRange() Dim X As Long For X = 1 To 10 Range("A" & X).Value = X Next X End Sub نفس الكود اللي شرحناه من شوية ، الاختلاف في السطر اللي بين سطري التكرار .. الحلقة هتدور 10 مرات ، وفي كل مرة المتغير X بيحمل قيمة مختلفة (نرررررركز في الجزئية اللي جاية لأنها مهمة جداً جداً ) مش هنفذ الكود مرة واحدة .. سنقوم بعملية التنفيذ واحدة واحدة ، اللي مستعجل يروح ينفذ الكود مرة واحدة ، واللي مش مستعجل أنا معاه ..عشان يعرف حاجة مش هيعرفها الأخ المستعجل ... ضع مؤشر الماوس في أي مكان في الكود .. جميل >> اضغط F8 من لوحة المفاتيح ، وجمد قلبك وقول يا رب .. لاحظت ايه يا عبد المحسن؟ عبد المحسن ناااااااام مني (الله يسامحك) ..عبد المحسن : شايف الدنيا صفرا ليه ، هو فيه عاصفة النهاردة كمان؟ .. رديت عليه : لا يا عبد المحسن كمل نومك ، السطر الأصفر اللي ظهر ده سببه إننا ضغطنا F8 .. ودا فايدته إننا هنقوم بعملية التنفيذ واحدة واحدة .. سطر سطر .. السطر الأصفر على أول سطر في الكود Sub NumberRange() اضغط F8 مرة تانية ، ايه اللي حصل انتقل السطر الأصفر للسطر التالت ، طيب والسطر التاني يا معلم .. ملوش لازمة !!! أكبر خطأ إنك تعتقد إنه ملوش لازمة ، لما ضغطنا F8 للمرة التانية ، محرر الأكواد خزن في الذاكرة كل المتغيرات الموجودة في الكود عايز تتأكد من كلامي ، حرك مؤشر الماوس اللي على شكل حرف I (فيه شرطة فوق وشرطة تحت) حرك الماوس من غير ما تدوس كليك .. واقف على المتغير X هتلاقي تلميح في مستطيل صغير بيقولك المتغير X=0 ، دي كدا القيمة المبدئية للمتغير ... لما تضغط F8 للمرة التالتة ، روح شوف قيمة X مرة تانية هتلاقي قيمة X=1 (ايه اللي خلاها 1 مش كانت صفر من لحظة ) اللي حصل إننا انتقلنا من السطر For X = 1 To 10 والسطر دا هيبدأ في عمل الحلقة التكرارية اللي بنقول عليها ، والحلقة بدايتها 1 زي ما حددنا (وطبعاً ممكن نغير نقطة البداية يا شباب .. مش شرط 1) حرك مؤشر الماوس من غير ما تدوس على المتغير X في السطر المظلل بالأصفر Range("A" & X).Value = X هنلاقي زي ما قلت إن X =1 يعني محرر الأكواد هيعمل ايه دلوقتي ، هيشيل كل X ويحط مكانه القيمة 1 ، فيصبح السطر في الذاكرة بهذا الشكل Range("A1").Value = 1 لحد كدا تمام التمام ، صغر محرر الأكواد بحيث تكون ورقة العمل ظاهرة بالنسبة لك واتأكد إن النطاق A1:A10 فارغ ليس به أي بيانات ، وركز في ورقة العمل ، واضغط F8 عشان تنقل السطر الأصفر إلى هذا السطر ، ولاحظ ورقة العمل Next X لاحظت يا منصور الخلية A1 وضعت فيها القيمة 1 ، نخلي بالنا إن السطر الأصفر بيتم تنفيذه بعد الخروج منه ، فلما خرجنا من السطر تم تنفيذ الأمر وأعطى القيمة 1 للخلية A1 .. اضغط F8 مرة أخرى ، ونلاحظ إن السطر الأصفر انتقل للسطر اللي قبليه ، مش لبداية الحلقة التكرارية ، يعني ببساطة السطر اللي بيحدد بداية الحلقة ونهايتها بيعدي عليه مرة واحدة فقط .. أما سطر الأمر والسطر اللي فيه كلمة Next بيبدل السطر الأصفر عليهم... نبص دلوقتي على قيمة المتغير X هنلاقيها بقت 2 فيتم تنفيذ السطر بمجرد الضغط على F8 ويضع القيمة 2 في الخلية A2 وهكذا ..جرب واضغط F8 وفي كل مرة شوف قيمة المتغير X وشوف النطاق A1:A10 في كل مرة أول ما توصل قيمة المتغير X إلى الرقم 10 تتوقف الحلقة التكرارية ، وينتقل السطر الأصفر لجملة End Sub .. وينتهي عمل الكود .. عارف إني طولت في النقطة اللي فاتت ، بس كان لازم أطول فيها ، عشان أنا فاضي ومفيش ورايا شغل ، فقلت أصدعكم شوية!! ننتقل لمثال آخر --------------- عشان نقدر نفهم إزاي نستفيد من الحلقات التكرارية .. عايزين نعد الاسم (أحمد) في النطاق A1:A10 نفترض إني عندي الأسماء دي في النطاق A1:A10 أحمد ياسر سليم حسام عيسى أحمد أحمد خليل عبد الله أحمد المطلوب : نشوف الاسم (أحمد) كم مرة تم تكراره .. المعطيات : استعن بالله ثم بالحلقة التكرارية .. الفكرة : هنعمل اختبار صغير بقاعدة IF وهنقول لو قيمة الخلية بتساوي "أحمد" .. زود المتغير Counter بقيمة واحد Sub CountName() Dim X As Long Dim Counter As Long For X = 1 To 10 If Range("A" & X).Value = "أحمد" Then Counter = Counter + 1 Next X MsgBox Counter End Sub عملنا متغير جديد باسم Counter عشان لما يتحقق الشرط ويلاقي الاسم "أحمد" يقوم يخلي المتغير Counter يساوي نفسه + 1 طيب ليه يساوي نفسه ، عشان في كل مرة يلاقي أحمد قيمته هتتغير فلازم نضيف واحد لكل Counter جديد النتيجة في الآخر هتظهر في رسالة ، وهي 4 .. طيب نجرب نشيل الواحد في هذا السطر Counter = Counter + 1 لو شيلنا الواحد هتكون النتيجة 0 ، لأن المتغير قيمته المبدئية صفر ، فلما يتحقق الشرط مش هيزيد المتغير إلا لما نضيف واحد في كل مرة يتحقق الشرط. هناخد مثال آخر ---------------- عندنا درجات في النطاق A6:A15 ، عايزين نكتب ناجح أوراسب في الخلية المجاورة للدرجة ، لو الدرجة أكبر من أو يساوي 50 يبقا ناجح ، مكانش يكون راسب ... نخلي بالنا أنا غيرت بداية النطاق عشان الحلقة التكرارية بردو هتتغير بدايتها ونهايتها طبقاً للصفوف الجديدة 58 41 88 40 50 40 98 94 60 35 نجرب الكود التالي .. Sub LoopsTest() Dim X As Long For X = 6 To 15 If Cells(X, 1).Value >= 50 Then Cells(X, 2).Value = "ناجح" Else Cells(X, 2).Value = "راسب" End If Next X End Sub نلاحظ الحلقة التكرارية بدأت من 6 إلى 15 (ودا متغير للصفوف من الصف رقم 6 إلى الصف رقم 15) ووضعنا الشرط بين سطري الحلقة التكرارية ، لو الخلية اللي في الصف X والعمود الأول أكبر من أو يساوي 50 يقوم يعمل ايه؟ يضع القيمة النصية "ناجح" في الخلية اللي في العمود الثاني والصف X (نفس الصف بالطبع لأن قيمة X في الحالة دي هي هي نفس القيمة لأننا في نفس اللفة) .. إذا لم يتحقق الشرط قام بتنفيذ الجزء الثاني بأن يكتب النص "راسب" ثم إغلاق جملة IF بالجملة End IF ومننساش القفلة زي ما اتعودنا.. ننتقل لآخر مثال في الحلقة دي (عشان أنا تعبت وإنتو كمان أكيد تعبتو) في الأمثلة اللي فاتت عملنا حلقات تكرارية للصفوف .. واحد بيقولي طيب والأعمدة ملهاش نصيب في الدوخة اللي إحنا فيها دي .. أقوله أكيد ليها نصيب .. المطلوب إننا في الصف الرابع ، نكتب معادلة =COLUMN() بس في الأعمدة من العمود رقم 1 إلى العمود رقم 15 (A To O) نعقدها شوية ونقول في الأعمدة اللي رقمها فردي بس (الأعمدة اللي رقمها زوجي مش محتاجينها) يعني ببساطة عايزين نحط المعادلة في الأعمدة A C E G I K M O Sub ColumnsLoop() Dim X As Long For X = 1 To 15 Step 2 Cells(4, X).Formula = "=COLUMN()" Next X End Sub الحلقة التكرارية بدأت من العمود الأول حتى العمود رقم 15 (البداية والنهاية) معلومة جديدة Step 2 (دي معناها إننا هنقفز ..والقفز هيكون بمقدار 2 أي خطوتين) بدأنا بـ 1 فلما نقفز بمقدار 2 ، هنروح لرقم 3 ، أي أن المتغير سيكون رقم فردي في كل مرة 1 ، 3 ، 5 ، 7 ، 9 ، 11 ، 13 ، 15 (وهو دا المطلوب بالضبط) سطر الأمر فيه الخاصية Formula ودي عشان نقدر نضع معادلة من خلالها .. والمعادلة ببساطة زي ما شفناها من شوية بس بتكون بين أقواس تنصيص .. طيب الجزء الأول من السطر نلاحظ إننا استخدمنا Cells ودي بتكون متبوعة بقوسين ، وبين القوسين رقم الصف ثم فاصلة ثم رقم العمود ، وبما إن رقم الصف ثابت اللي هو رقم 4 ، فكتبناه زي ما هو .. اما رقم العمود فمتغير فوضعنا رقم العمود X ... جرب الكود وشوف النتيجة بنفسك أرجو أن أكون قد وفقت في توصيل المعلومة بأسلوب مبسط كان معكم أخوكم أبو البراء من تراك أوفيسنا (لف على الحلقات من الحلقة رقم 1 إلى الحلقة رقم 14 .. لو عايز تتعلم الـ VBA) ويا رب ميكونش فيه حد جاله دووووووووخة من كتر اللف .. والله أنا اللي دوخت أستودعكم الله .. دمتم في رعاية الله تقبلوا تحياتي .. دمتم بود
    1 point
  37. اخى الكريم تابع هذه الدروس للاستاذ الرائع والكبير //احمد النجار
    1 point
  38. اخى الكريم حل ملك المعادلات يفى ويزيد عن ماطلبت ولاثراء الموضوع هذا ماكرو مربوط ب advancedfilter وحل ب pivottable وهذا ما افضله لك . حاول تتعلمه سيفيدك فى عملك وخصوصا فى التقارير والملخالصات والرسوم البيانيه كما ان حجمه صغير وخفيف ... من الاخر ممتاز تحياتى نقل البيانات بدون تكرار.rar
    1 point
  39. اخى الكريم انظر المرفق هل هو المطلوب علما بان هذا كان مطلبك الاول وتم تنفيذه وانت من طلب تعديله بعد ذالك حيرتنى معاك تقبل تحياتى اداره المخازن2222.zip
    1 point
  40. إليك أخى المطلوب وفقا لأوفيس 2003 وأوفيس 2007 تقبل تحياتى نقل البيانات بدون تكرار ومرتبة أبجديا OFFICE 2003.rar نقل البيانات بدون تكرار ومرتبة أبجديا OFFICE 2007.rar
    1 point
  41. أخى الحبيب يبدو أن الكلام السابق لم يصل لحضرتك جيدا لأن الذى فى الصورة ليس خطأ ولكن البيانات التى ترجعها الدالة من الأسماء المفردة قد إنتهت ومع سحب المعادلة لأسفل لاتجد بيانات ترجعها فترجع هذا الخطأ دليل على إنتهاء البيانات لذلك لونظرت إلى الدالة التى أضافها الأخ " على عبد المنعم " والأخ " محمد لطفى " وهى دالة تقوم بجعل الخلية خالية من الخطأ فى حالة وجودة وهذا لحسن الشكل فقط وليس لها علاقة بصحة أو خطأ الدالة أرجو أن يكون الشرح واضح تقبل تحياتى
    1 point
  42. هذا هو الدليل على وجود علامة الخطأ المكرر.rar
    1 point
  43. شكرا لكل الزملاء على كلماتهم الرائعة ومرورهم الكريم أما بالنسبة لملحوظة الأخ " على عبد المنعم " أنا وضعت أساس المعادلة وفقا للطلب ، أما إضافة " iferror " لحذف الخطأ الوارد من عدم وجود بيانات ترجعها الدالة فقد تركتة كلا على حسب إصدار الأوفيس لدية لأنى لوضعت المعادلة وفقا لإصدار الأوفيس عندى وأنا أستخدم أوفيس 2003 فكان لابد من أستخدام " iserror " أو " if(error " لهذا تركت هذا الشرط ليكتبة كل زميل وفقا لإصدار الأوفيس لدية أما ملحوظة الأخ " mhrrd " فهذه قد سبق الكلام فيها لأن المعادلة تعمل بكفاءة تامة والمرفق يوضح ذلك تماما وبالطبع الكلام الذى سبق كلة هو إجابة ملحوظة الأخ " محمد لطفى " تقبلوا تحياتى
    1 point
  44. تم التعديل قليلاً على الملف ليعمل كما تريد المكرر salim.rar
    1 point
  45. ملف لحساب الضريبه طبقاً للقانون 11 لسنه 2013 + شرح وتحليل الداله معادلة حساب الضريبة علي الاكسل وفقا لاحدث تعديل للقانون 91 بالقانون 11 لسنة 2013-.rar
    1 point
  46. تفضل أخي الحبيب هذا حلّ من الحلول ، وهو خارج الأكسيس (كما أسلفت لك) ، سوف نطوّعه قريباً بإذن الله برنامج مجاني وفعّال جداً إستخدمته ومثبت على جميع الأجهزة لدي في الشركة ونعمل من خلاله دائما ، من خلاله وبإستخدام الماسح الضوئي يحول الى ملفات PDF أنجز ما تحتاج ، وتصدّق على بدعوة خير بظهر الغيب . إذا إحتجت لأي مساعدة ... أشعرني والله من وراء القصد WinScan2PDF.zip
    1 point
  47. اخي الكريم عند ظهور هذه الرسالة اختر لا ستظهر لك كما بالصورة اختر صيغة الملف الماشر عليه وسيتم الحفظ ابواحمد
    1 point
  48. السلام عليكم و رحمة الله و بركاته يمكنك تجربة هذا البرنامج انا جربته كتير و هو ممتاز جدا و ده الجزء الاول منه و الله اعلى و اعلم aoxppr_p.part1.rar
    1 point
×
×
  • اضف...

Important Information