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

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

  1. Yasser Fathi Albanna

    Yasser Fathi Albanna

    06 عضو ماسي


    • نقاط

      11

    • Posts

      1,313


  2. ياسر العربى

    ياسر العربى

    الخبراء


    • نقاط

      9

    • Posts

      1,510


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

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

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


    • نقاط

      8

    • Posts

      13,165


  4. جعفر الطريبق

    جعفر الطريبق

    الخبراء


    • نقاط

      5

    • Posts

      140


Popular Content

Showing content with the highest reputation on 12 نوف, 2015 in all areas

  1. السلام عليكم ورحمة الله وبركاته اتقدم بخالص الشكر والتقدير والعرفان لإدارة المنتدى على هذه الثقة الغالية التى منحونى اياها تقبلوا خالص تحياتى وتقديرى
    2 points
  2. السلام عليكم بتوفيق رب العالمين توصلت الى شكل المعادلة التى من خلالها تستطيع ربط دالة MAX او دالة MIN مع دالة LOOKUP وذلك حتى نتمكن من الحصول على اكبر او اصغر قيمة بالرجوع الى البحث عن قيمة محددة داخل جدول بدون اطاله ... المرفق وافى الشرح اتمنى ان يكون مفيدا ان شاء الله فى انتظار الملاحظات شكرا max+lookup.rar
    2 points
  3. أخي الكريم بالنسبة لطلبك بدون الإطلاع على المرفق .. قم بوضع سطر قبل تنفيذ الكود بفك الحماية Activesheet.Unprotect 123 وفي نهاية الكود ضع سطر لتفعيل الحماية مرة أخرى Activesheet.Protect 123 أرجو أن يفي بالغرض
    2 points
  4. جرب التعديل التالي حيث أضفت سطر يعطل الحساب التلقائي إلى حين انتهاء عمل الكود ثم بعد انتهاء الكود يتم تفعيل الحساب التلقائي مرة أخرى .. جرب وأعلمني بالنتيجة Sub ConvertTextToNumber() Dim R As Range On Error Resume Next Application.ScreenUpdating = False Application.Calculation = xlManual For Each R In ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants) If IsNumeric(R) Then R.Value = Val(R.Value) Next R Application.Calculation = xlAutomatic Application.ScreenUpdating = True MsgBox "Done!", 64 End Sub تقبل تحياتي
    2 points
  5. ألف مبروك أخى الغالي ياسر على هذه الترقية التي تستحقها عن جدارة و الى المزيد من العطاء
    2 points
  6. انت قلت اضف هذا السطر Application.Calculate بعد السطر Sheets(ComboBox1.Value).Delete ليكون كود ال CommandButton1_Click كالتالي بعد الاضافه Private Sub CommandButton1_Click() Dim C As Range Dim Fir Application.DisplayAlerts = False If Sheets.Count > 1 And ComboBox1.Value <> "" Then On Error Resume Next With ActiveSheet.Columns(2) Set C = .Find(ComboBox1, LookIn:=xlValues) If Not C Is Nothing Then Fir = C.Address Do C.EntireRow.Delete Set C = .FindNext(C) Loop While Not C Is Nothing And C.Address <> Fir End If End With Sheets(ComboBox1.Value).Delete Application.Calculate End If Application.DisplayAlerts = True UserForm_Initialize End Sub
    2 points
  7. السلام عليكم مبروك الأستاذ ياسر فتحي على الترقية المستحقة
    2 points
  8. استاذ مختار حسين ... فكرت ادخال دالة ال Hyperlink في الخلايا الموجودة مباشرة تحت الشكل (Shape) ... طبعا هذه الخلايا ينبغي أن تكون خالية و غير مستعملة ...بدأت في كتابة الكود و يبدو جيدا لو توصلت الى نتيجة محترمة سأتشر الكود هنا
    2 points
  9. السّلام عليكم و رحمة الله و بركاته ألف ألف مبروك الترقية أخي المحترم و أستاذي الفاضل " ياسر فتحي البنّا " التّرقيّة المستحقّة الشّرف أتى إليك و لم تذهب له .. لأنّك بأخلاقك و علمك الذي لمسناه في شخصك الكريم طيلة معيشتنا ببيت "أوفيسنا" تبيّن لي أنّك أشرف من " الشّرف" تهانينا القلبيّة مرّة أخرى و عقبالْ الأحسن و الأفضل في جميع مجالات حياتك فائق إحتراماتي أخوك / عبد العزيز البسكري
    2 points
  10. طريقة التنسيق وتدوس علي كلمة تنسيق جمب اللون وتختار التنسيقات اللي انت عايزها والالوان
    2 points
  11. تفضل اخي سلمان رقم الصنف في tabl1 هو الباركود بالتوفيق برنامج المطاعم.rar
    2 points
  12. بسم الله الرحمن الرحيم وجدت وانا ابحث عن بعض الاكواد والامثلة هذا الكود الذي يعمل تأثيرات حركية علي shape & picture دا كان مشوار لموقع اجنبي حلفوا منا ماشي غير بالمثال دا اتفضلو علي فكرة صورة البنت الامورة دي انا اللي رسمها بالقص واللصق وحشه صح shape move.rar
    1 point
  13. وعليكم السلام تفضل في الواقع انت قمت بمعظم العمل ، انا فقط ركبت الاشياء على بعضها جعفر 260.الشبكة الإستدلالية للمرتبات.accdb.zip
    1 point
  14. سيدي الكريم غير حدث زر الطباعة الى: Private Sub أمر9_Click() 'the print cannot take place directly with the Filter, 'so we have to open the Report in Preview mode, but hidden so the user doesn't feel DoCmd.OpenReport "مساعد كشف الارصده", acViewPreview, , Me.تابع4.Form.Filter, acHidden 'unfortunately, the sorting Order in the Report needs a bit of time to organize PauseTime = 1 ' Set duration. Start = Timer ' Set start time. Do While Timer < Start + PauseTime DoEvents ' Yield to other processes. Loop 'now print the Report DoCmd.PrintOut DoCmd.Close acReport, "مساعد كشف الارصده" End Sub جعفر
    1 point
  15. الحمد لله الذي بنعمته تتم الصالحات وجزيت خيراً بمثل ما دعوت أخي المراغي .. وإن شاء الله ستجد المساعدة من إخوانك بالمنتدى دائماً تقبل تحياتي
    1 point
  16. السلام عليكم الملف data.amr هو قاعدة بياناتك الملف data.ldb هو صورة منه حاول كالتالي : 1- احفظ بعيدا نسخة من data.amr 2- غير الامتداد amr الى mdb ثم حاول فتح الملف وموافاتنا بالنتيجة
    1 point
  17. أصلي عندي الحاسة السابعة ..فقريت أفكارك وكتبتها قبلك .. بس متقلقش سايبلك موضوعات كتيرة في المنتدى تشتغل فيها براحتك لأني مش خبير فيها (موضوعات الفورم تحديداً) تقبل وافر تقديري واحترامي
    1 point
  18. الله يصلح حالك ويهديك الى الجنة استاذ ياسر الكود الجديد ما شاء الله يعمل بكفاءة وسرعة فجزاك الله خيرا دمت بكل خير
    1 point
  19. الله ينور أخى الحبيب / ياسر العربى شعلة النشاط بالمنتدى جزاك الله خير
    1 point
  20. جزاك الله خيرا رائع أستاذ / سليم رائع جدا جدا ومتميز ربنا يبارك فى حضرتك
    1 point
  21. سلمت يمينك أ خى الحبيب / ياسر موضوع مميز وأكثر من رائع بارك الله فيك وزادك من علمه
    1 point
  22. ابو عارف الله ينور عليك ياشيخ وعلى جميع الاخوان تمام التمام
    1 point
  23. والله فكرة جيدة أستاذ جعفر لكن ماذا لو تم تحريك الـــ Shape الى مكان جديد من قبل المستخدم بعيدا عن الخلية ؟! أنا عندى فكرة مشابهه لفكرة الملف المرفق فى مشاركتى السابقة لكن أفضل شويه وهى : عمل Group بين Shape و lable ( لذلك تحريك الـــ Shape يتبعه الـــ lable ) الــ lable يكون شفاف أو عديم اللون وتحت الـــ Shape مباشرة أما الــ Shape له لون واسم وهو الذى يظهر أمام المستخدم ونضع فى حدث الشيت الكود التالى Option Explicit Private Sub Label1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) MsgBox "الزهرة اذا قطفتها فهى لك واذا تركتها فهى لك ولغيرك" End Sub جرب المرفق ده و قل لى رأيك Macro When Your Mouse is over a shape .rar Macro When Your Mouse is over a shape .rar
    1 point
  24. 1 point
  25. والآن الى الكنز المخزون في صفحة كود الاكسس ، والذي يحتوي على جميع اوامر الاكسس ، و VBA ، و..... افتح صفحة الكود: . إما تضغط على الايقونه الموضحة بالدائرة الحمراء في الصورة اعلاه ، او تضغط على الزر F2 في لوحة المقاتيح ، وستظهر لك هذه الشاشة: . في الشاشة التاليه: 1. اختر اي الاوامر تريد ، VBA او اكسس او ... ، فسترى انواع الاوامر المتوفرة لها في النافذة 2 ، انا اخترت VBA ، 2. ثم اختار نوع الامر الذي تريده ، انا مثلا اردت جميع اوامر التاريخ والوقت ، فسترى جميع اوامر التاريخ والوقت في النافذة 3 ، 3. اختار الامر الذي تريده وانقر عليه ، انا مثلا اخترت الامر DateAdd ، فسترى في الاسفل (4) طريقة كتابة الامر : . وتستطيع كتابة اي امر تريد في خانة البحث (Recordset مثلا) ، وستحصل على جميع الاوامر التابعة له وإخواننا الصعايدة على راسنا جعفر
    1 point
  26. السلام عليكم - حياكم الله كنت مستحي أن أطلب ان يكون البحث عن الاسم عند كتابة الاحرف الاولى ولكن انت الفنان والمبدع اختصرت عليه - جزيت خيرا - اشكرك - بارك الله في عمرك ووقتك وحفظك الله وزادتك فضل وعلم
    1 point
  27. تفضل اخي الغالي برنامج ديوان محافظة.rar برنامج ديوان محافظة.rar
    1 point
  28. اخى الحبيب المتميز دائما / زيزو العجوز الله يبارك فى حضرتك وفقنا وإياكم إلى ما فيه الخير الأستاذ الفاضل والقدير الأب الفاضل / محمد جسن المحمد مش عارف أشكر حضرتك إزاى ربنا يبارك فى حضرتك وشكر على هذه الصورة الرائعة وتشجيعك لى تقبل خالص تحياتى وتقديرى لشخصكم الكريم أخى الأستاذ والمعلم القدير / حسام عيسى شعلة النشاط فى هذا الصرح العلمى الكبير والذى تعلمت منه الكثير والكثير شكرا لمرور حضرتك الكريم والذى يسعدنى ويشرفنى دائما الله يبارك فى حضرتك تقبل خالص تحياتى وتقديرى
    1 point
  29. الف مبروك اخي الغالي ياسر ودائما من تقدم لتقدم وفقك الله وزادك من علمه
    1 point
  30. تفضل الظاهر انك ما شفت الرابط اللي وضعته لك التقرير لا يحترم فرز الاستعلام ،والطريقة لعمل الفرز هي: . والنتيجة جعفر 257.الرصيد.accdb.zip
    1 point
  31. أخي الغالي الحبيب ياسر فتحي لا تعلم مقدار سعادتي بهذه الترقية المستحقة عن جدارة وإن شاء الله إلى مزيد من التفوق والابداع تقبل وافر تقديري واحترامي
    1 point
  32. الف مبروك اخي الغالي ياسر ودائما من تقدم لتقدم وفقك الله وزادك من علمه
    1 point
  33. ألف مبروك صديقي الغالي ياسر على هذه الترقية التي تستحقها عن جدارة و الى المزيد من العطاء
    1 point
  34. جرب حبيبي وبلغني تفضل اخي عشان متقولشي سيبتك تعوم لوحدك بس مش عارف فيه اخطاء بتظهر من كود الساعة دي حاول تحلها المشكلة في الحدث تايمر وضع صورة للموظف في الفورمة بدلالة رقم الكود.rar
    1 point
  35. بارك الله فيك أستاذ مختار حسين هل فكرت في تطبيق هذه الفكرة على الأشكال (Shapes)أو الأزرار (Forms Buttons) عوض الخلايا بحيث عند تحريك الماوس فوق الشكل او الزر تظهر رسالة معينة
    1 point
  36. الله يجزيكم كل الخير علي دعائكم هذا ويارب ينفعنا واياكم ويرزقنا علما نافعا اما بقي للجماعه اللي طلباتهم كتيررررر اتفضلو الملف فيه الصور بالبيانات في شيت الاكسيل واللي عاوزها بردو صورة وبيانات في الفورم اتفضلواا اللي عاوز يطلب حاجه يطلب ميخفشي عادي احنا تحت امركم image & userform.rar
    1 point
  37. اهلا بك ابو عبدالله عايزك تفهم ان موضوعك موضوع مفتوح نوعا ما ! او للاجابة يحتاج وقت وشرح ولابد من التطرق للاساسيات علشان نكمل ! وبرضه يا اشرح شي بشكل علمي لانه سيكون مرجع لكل من يمر هنا ! لذلك مثل هذه الاشياء خذها من مصادرها الصحيحة والموثوقة افضل مثل : كتب - موقع ميكروسوفت ! انصحك ان تاخذ كتاب في الاساسيات وبتسلسل المواضيع بدون القفز من فصل لاخر ! الشي الذي ممكن اضيفه هنا هو : عايزك تتخيل ان هذا البريمج (الاكسس) به قاعدة بيانات مصغرة - اداة تصميم وتطوير - بيئة لكتابة اكواد ! كلها هذا ونحن نعرف ان كل منها موجود كمنتج مستقل من شركات اخرى ! بينما هذه كلها موجودة في ملف واحد ! وملف ايه ؟ ملف بيانات ! بل كل وحدة عبارة عن كائن داخل هذا الملف ! بمعنى انتي الوحدة النمطية اللي نكتب فيك الاكواد ماخذه شكل مصغر من عمل ادوات التطوير المستقلة مثل الترجمة وتتبع الاخطاء وغيرها وتحويل الكود الى لغة الكمبيوتر ! وهية مع هذا كله مازالت كائن في ملف الاكسس ! فمش عارف هل ننظر للموضوع استخفاف بعقولنا ام انه ابداع في هذا المنتج ؟!!!!! وهنا انا حجيبك على استفساراتك ولكن اتمنى ان لاتكون حلقة مفتوحة باستفسار عن جواب لاستفسار سابق وهكذا ! وصدقني ابداية مع كتاب وبتسلسل منطقي افضل بكثير من المواضيع التي تكتب بالانترنت وذلك لاسباب عدة منها انت لاتعرف مستوى كاتب الموضوع او صحة مايكتب عكس الموجود بالكتب والمعتمدة ! ** كلمة private تحدد مدى حياة المتغيرscope ! فبها يكون حي فقط في المكان الذي ولد به اي عرف به ! فمثلا ولد في وحدة نمطية عامة فانه يعرف وحي في تلك الوحدة فقط ! ولدة في وحدة فئة نموذج فانه حي ويعرف هنا فقط ! بمعنى لو ناديته منكا اخر ستجده ميت ولا يستجيب ! عكس public ** byval و byref تستخدم لتحديد نوع او اسلوب تمرير المتغيرات للاجراءت والدوال ! بالعربي : بالقيمة او المرجع ! فاذا مررت قيمة متغير من نوع قيمة فانه للرغبة او عدم الاستطاعة في تغيير قيمة المتغير الاساسية عكس بالمرجع التي يمكن تغيير قيمة المتغير من خلال الاجراء او الدالة ! كما ان الموضوع يطول حول مسالة تعريف المتغيرات نفسها بانها من نوع قيمة ام مرجع ! فهل ممكن امرر قيمة متغير معرف انه مرجع لدالة تستقبل بالقيمة ؟ !! ** رابط لل api : https://msdn.microsoft.com/en-us/library/windows/desktop/ff818516(v=vs.85).aspx http://allapi.mentalis.org/apilist/apilist.php طبعا تاكد من توافق الدالة مع اصدار الويندوز! هذا متمنيا ان حصل لو جزء من ما تريد ! كما انبه على ان الشرح لا بد ان ياتي من استاذ فهو علم بحد ذاته فليس المقصود بالاستاذ بقدر مايملك من معلومة ولكن بقدر رضا تلاميذه في ايصال المعلومة ! تحياتي
    1 point
  38. هو فيه اختلاف ولكن يتطلب الخلفية في فهم برمجة الكائنات oop اختصار object oriented programming علشان نتكلم علميا ويمكن اكون مقصر لعدم التخصصية البحتة خاصة وان هذا الموضوع شبح طلاب الحاسب الالي ! ولكن برضه بالبلدي: الوحدة النمطية العامة هي مكان لدوال والمتغيرات العامة لكل البرنامج ! ماتضعه هنا يكون معروف على مستوى البرنامج ! ممكن متغير ياخذ قيمته من اي نموذج ! او طبعا عرفنا انها مكان لمناداة ال api ! وفي نفس الوقت هي المكان التي ابرمج بلغة ال access basic ! اما وحدة الفئة : هي مكان انشئ من خلاله الكائنات ! نحن نعرف ان لكل كائن خصائص وطرق او اوامر ! هنا نستطيع ان اعرف كائنات جديدة لها خصائصها وطرقها ! لاحظ انه لكل نموذج وتقرير عند انشائه له وحدة فئة خاصة وهي صفحة كود الاحداث ! وهذه تكون وارثة جميع الخصائص والطرق من النموذج او التقرير ! هذا والحديث يطول ويحتاج وقت او تسلسل في المواضيع علشان ينفهم ! ولكن اتمنى ان افدتك ولو بالمفاتيح ! تحياتي
    1 point
  39. api اختصار application programming interface بالعربي برمجة واجهة التطبيقات وبالبلدي: هي دوال تحاكي الويندوز ! مثلا هناك اوامر يحتاجها المبرمج وهذا الامر اصلا واحد من مكتبات الويندوز على شكل دالة ! وكل مكتبة في الويندوز بها دوالها مغلفة ! فاروح انادي الدالة هذه بشرط ذكر اسم مكتبتها ! بمعنى هذه الدالة يستخدمها الويندوز وانت كمان تستخدمها خاصة اذا بتحاكي شي خارج برنامجك والذي لن يستطيع برنامجك يفهم اللغة للتخاطب ! فمثلا اغلاق ويندوز ! اروح انادي الدالة الخاصة بهذا مع ذكر مكتبة وجودها بها ! فانت ذهبت تخاطب برامج اخرى بهذه الدالة لقصور برنامجك في التخاطب ! وقال لك الاكسس اذا عايز تنادي حاجة زي كدا لابد تحطها لي في وحدة نمطية ! بمعنى لو عايز اضيف سجل في جدول مش معقوله انادي دالة api لانهم الويندوز مش حيفهم انت عايز ايه ! فقال لك ياعمي انا شغلت لك الاكسس واموركم الداخلية خلصوها مع بعض ! والاكسس حيزعل ويقول انت رايح للويندوز في امر زي كدا ! انا لدي دوالي وكائناتي اللي تعمل الحاجة دي ! اما لو فيه حاجة ما اقدرش عليها روح لمكتبات الويندوز وخذ اللي انت عايزه وهاتها لي في وحدة نمطية عامة ! ممكن يخطر في بالك عايز افتح الاكسل من الاكسس ! لو فكرت قليلا اكيد هناك دالة api بتعمل كذا لانه الويندوز بيعملها وهو فتح وتشغيل الاكسل ! بس هنا الاكسس برضه بيعمل الحاجة بس عايز منك ان تضيف مرجع في المراجع او تبحث وتتعلم ويمكن فيه دالة في الاكسس بتعمل كذا ! باختصار api دوال كثيرة جدا بحجم مكتبات الويندوز عليك معرفة اسمها ومكتبتها ونوع متغيراتها الممررة لها ومكان وجودها لكي تستطيع استخدامها ! لاحظ انه لو شغلت الاكسس على غير ويندوز مش حيفهم عليها ! بل لاحظ كيف انه عند تغير اصدارات الويندوز عليك مراجعة شكل الدالة الجديد ! بمعنى ابتعد عنها الا للضرورة !
    1 point
  40. الاخوة الكرام اقدم لكم بقية لدرس الترحيل كيفية وضع شروط تجبر المستخدم على ادخال بيانات مما لا شك فيه ان سند القبض اللى بصورة التالية لابد من ادخال جميع البيانات اللى بالسند وهى المظلله باللون الاصفر رقم الايصال بالخلية [G7] تاريخ السند بالخلية [D8] الجهه التى تم القبض منها بالخلية [D10] المبلغ المقبوض بالخلية [D11] ان شاء الله اليوم بنتعرف كيف يمكن اجبار المستخدم على ادخال البيانات قبل ترحيلها فلا يعقل مثلا ان يقوم المستخدم بعدم كتابه تاريخ للسند ويترك الخلية فارغه بدون تاريخ ثم يقوم بالترحيل لازم اجبره على ادخال التاريخ اولا: اجبار المستخدم على ادخال رقم الايصال بالخلية [G7] هنستخدم السطر التالى بالكود If [g7] = "" Then MsgBox "الرجاء ادخال رقم الايصال": Exit Sub هذا السطر يتم اضافتة بعد هذا السطرمن الكود Application.ScreenUpdating = False ليصبح هكذا Sub ترحيل() Application.ScreenUpdating = False If [g7] = "" Then MsgBox "الرجاء ادخال رقم الايصال": Exit Sub With Sheet4 Lr = .Cells(.Rows.Count, "D").End(xlUp).Row .Cells(Lr + 1, "A") = [D8] .Cells(Lr + 1, "B") = [g7] .Cells(Lr + 1, "D") = [D10] .Cells(Lr + 1, "G") = [d11] .Cells(Lr + 1, "E") = "=R[-1]C+RC[2]-RC[1]" End With End Sub تعالى بقى نشرح معنى هذا السطر If [g7] = "" Then MsgBox "الرجاء ادخال رقم الايصال": Exit Sub هذا السطر من الكود معناه ببساطه كدا ان لو الخلية [g7] فارغه اكتب رساله تظهر للمستخدم تنبهه بان الخلية فارغه ويجب ادخالها و اخرج من الكود ومتكملش الشىئ الذى تريد تنفيذه then الشرط المطلوب التحقق من وجوده if استخدمنا هنا IF وذالك لعمل شرط قبل عملية الترحيل وهى كما نعرف جميعا ان iF معناها لو then معناها تنفيذ الشرط الذى نريده كما اتفقنا من قبل هو عدم ترك الخلية [g7] فارغه اللى بيسجل بها رقم الايصال الكود هيقوم باختبار الشرط التالى "" = [if [g7 "" العلامه هذا بالكود تعنى فارغ ( فلو [g7] تساوى فارغ نفذ كذا كذا ) نفذ دى فى الكود هى Then وسيكون لونها بالكود ازرق هينفذ ايه بقى انا عايزة يظهر رساله وهى " الرجاء ادخال رقم الايصال" ونلاحظ انها مكتوبه بين علمتى تنصيص ( تكتب من خلال شيفت + حرف ط بالكيبور) وهينفذ ايه تانى غير الرساله هينفذ خروج من الكود ميكملش يعنى ودى بتكون exit sub : وبعدها كتابتها ستجد ان لونها اصبح ازرق لمتابعه شرح عن كتابة الرسائل فى لغة البرمجه يرجى مراجعه الرابط التالى ستجد شرح باستفاضه http://www.officena.net/ib/index.php?showtopic=57199&hl= ) ثانيا : عايزين نجبر المستخدم على ادخال التاريخ If [d8] = "" Then MsgBox "الرجاء ادخال تاريخ لسند القبض": Exit Sub هو نفس السطر السابق بس بنختبر الخليه [d8] فيها تاريخ ام لا ثالثا : اجبار المستخدم على ادخال الجهه التى تم الاستلام منها If [d10] = "" Then MsgBox "الرجاء ادخال اسم الشخص الذى تم الاستلام منه": Exit Sub رابعا: اجبار المستخدم على ادخال المبلغ المقبوض If [d11] = "" Then MsgBox "الرجاء ادخال المبلغ المقبوض": Exit Sub وهيكون الكود فى شكله النهائى كالتالى Sub ترحيل() Application.ScreenUpdating = False If [g7] = "" Then MsgBox "الرجاء ادخال رقم الايصال": Exit Sub If [d8] = "" Then MsgBox "الرجاء ادخال تاريخ لسند القبض": Exit Sub If [d10] = "" Then MsgBox "الرجاء ادخال اسم الشخص الذى تم الاستلام منه": Exit Sub If [d11] = "" Then MsgBox "الرجاء ادخال المبلغ المقبوض": Exit Sub With Sheet4 Lr = .Cells(.Rows.Count, "D").End(xlUp).Row .Cells(Lr + 1, "A") = [d8] .Cells(Lr + 1, "B") = [g7] .Cells(Lr + 1, "D") = [d10] .Cells(Lr + 1, "G") = [d11] .Cells(Lr + 1, "E") = "=R[-1]C+RC[2]-RC[1]" End With End Sub يعنى الكود قبل الترحيل هيعمل اربع اختبارات الاول هيمسك اول سطر بتاع رقم الايصال لو موجود ينتقل للسطر اللى بعده ولو مش موجود هبخرج من الكود ومش هيكمل وهكذا ما باقى الاسطر الين يتحقق من وجود بينات بالاربع خلايا ثم يقوم بعمليه الترحيل خامسا : هل يمكن عمليه الاختبار بسطر واحد بدلا من اربع اسطر نعم يمكن ذالك من خلال السطر التالى If [g7] = "" Or [d8] = "" Or [d10] = "" Or [d11] = "" Then MsgBox "الرجاء ادخال جميع بيانات السند": Exit Sub هنا تم استخدام داله OR وهى تعنى أو لو الخلية اللى بها رقم الايصال فارغه أو الخلية اللى بها التاريخ فارغه او الخلية اللى بها الجهه التى تم استلام المبلغ منها أو الخلية اللى بها المبلغ فارغه نفذ رساله ثم اخرج من الكود ومتكملش ويكون الكود بشكله النهائى كالتالى Sub ترحيل() Application.ScreenUpdating = False If [g7] = "" Or [d8] = "" Or [d10] = "" Or [d11] = "" Then MsgBox "الرجاء ادخال جميع بيانات السند": Exit Sub With Sheet4 Lr = .Cells(.Rows.Count, "D").End(xlUp).Row .Cells(Lr + 1, "A") = [d8] .Cells(Lr + 1, "B") = [g7] .Cells(Lr + 1, "D") = [d10] .Cells(Lr + 1, "G") = [d11] .Cells(Lr + 1, "E") = "=R[-1]C+RC[2]-RC[1]" End With End Sub وفى النهاية ارجوا ان اكون وفقت بالشرح واتمنى ان يستفيد منه الجميع تقبلوا منى وافر الاحترام والتقدير
    1 point
  41. بسم الله الرحمن الرحيم ممكن لوسمحتوا طاب كود او معادلة (ربط )خلية فيها بيانات مثلا a1 من شيت 1 الى a1 شيت2 وسؤال اخر عند ارسال ملف اكسيل الى شخص عبر الايميل يكون عندي الخيار حق تأمين الماكرو والوحدات النمطية مفعل __كيف ارسلها لة وتفعل في جهازه بدون مايقوم هو بتفعيل تامين الماكرو او الوحدات النمطية؟ - ممكن شرح عمل combobox في الفورم بحيث يكون في عمود الشيت بيانات تظهر في الكومبوبكس داخل الفورم ..؟ شكرا لكم جزيلا شكرا لكم
    1 point
  42. اخي المبرمج الان يتعين عليك ان تنشئ قاعدة بيانات تحتوي على ثلاثة جداول الاول = جدول الاصناف ويكون رقم الصنف مفتاح اساسي ويحتوي على ما تريد من بيانات تخص الصنف الثاني = جدول الموردين ويكون رقم المورد هو المفتاح الاساسي ويحتوي على بيانات الموردين الثالث= جدول العملاء ويكون رقم العميل هو المفتاح الاساسي ويحتوي على بيانات العملاء الرابع =جدول العمليات (وهنا مربط الفرس) ويحتوي على 1 - رقم العملية (مفتاح اساسي) 2 - رقم الصنف ( مرتبط برقم الصنف من جدول الاصناف) 3 - رقم المورد ( مرتبط برقم المورد من جدول الموردين) 4 - رقم العميل (نفس السابق) 4 - التاريخ 5 - الكمية المشتراة 6 - القيمة (سعر الوحدة) 7 - الكمية المباعة 8- القيمة (سعر بيع الوحدة) الان لدينا قاعدة بيانات مرتبطة ومتماسكة ونبدا بتصميم الاستعلامات حسب الطلب ثم النماذج والتقارير
    1 point
  43. أعتقد أن الكود التالي أكثر كفاءة: Private Sub Worksheet_Change(ByVal Target As Range) TR = Target.Row TC = Target.Column If TR > 2 And (TC = 3 Or TC = 4) And Cells(TR, 5) < 1 Then MsgBox "!مبلغ صافي الراتب أقل من أو يساوي صفر", vbExclamation, "تنبيه" End If End Sub شاهد المرفق، _________________________________________.rar
    1 point
  44. بسم الله الرحمن الرحيم ارفقت كتاب عن VBA و باللغه العربيه للورد و الاكسيل بسيط و مفيد جدا , و لكن بصراحه لا اذكر من اين حملته اتمنى ان يكون مناسبا السلام عليكم WrdExl.rar
    1 point
  45. بسم الله الرحمن الرحيم تم تعديل رابط المشاركه رقم 8 كتاب Excel VBA هنــــــا السلام عليكم
    1 point
  46. استخدام ماكرو الماكرو هو عبارة عن سلسلة من أوامر Excel التي تستخدمها بشكل متسلسل ومتكرر حيث يمكنك استخدام الماكرو لتجميعها في أمر واحد، مما يسهل المهام الروتينية اليومية. ويمكنك إضافة زر ماكرو لشريط الأدوات بحيث يصبح استعمال الماكرو كاستعمال أي أمر من أوامر Excel. او بمعنى آخر الماكرو هو مجموعة من الأوامر يمكنك حفظها لكي يتم تنفيذها دفعةً واحدة في أي وقت تريد دون الحاجه الى تنفيذ كل تلك الأوامر في كل مرة تريدها... ويتم ذلك بإحدى طريقتين: الأولى .. اما بالضغط على مفتاح معين من لوحة المفاتيح الثانية .. عمل كليك فوق اداه معينه من سطور الأدوات هناك العديد من الماكروات التي تم اعدادها بشكل جاهر من قبل مايكروسوفت الشركة المصنعه للاكسيل..... على سبيل المثال عنما تريد ان تقوم بحفظ العمل فيمكنك عمل ذلك بالضغط على Ctrl + S بدل من الذهاب الى قائمة File --- Save فبالضغط على هذين المفتاحين Ctrl + S فيتم استدعاء الماكرو المختص بالحفظ .. وعلى سبيل مثال آخر لاضافة ملاحظات بخليه معينه يمكنك عمل ذلك بشكل سريع عن طريق الضغط على Shift + F2 بدل من الذهاب الى قائمة Insert --- Comment وهنا ايضاً بالضغط على هذهين المفتاحين Shift + F2 فإنه يتم استدعاء الماكرو الخاص بإضافة التعليق بالخليه .... وهناك ايضاً العديد من الماكروات التي تم اعدادها بشكل جاهز من قبل مايكروسوفت ومعروفه لدينا باسم (مفاتيح الاختزال) ----------------------------------------------- تسجيل ماكرو سنقوم بتسجيل ماكرو لفتح ملف "حسابات البنوك" المخزن في المجلد Chapter 13، وذلك لاختصار الوصول إلى هذا الملف إذا كنت تستخدمه بشكل متكرر. خطوات تسجيل ماكرو إختر الأمر "ماكرو" من قائمة "أدوات" ومن ثم اختر الأمر "تسجيل ماكرو جديد". في مربع حوار "تسجيل الماكرو" غير الاسم الافتراضي ماكرو 1 باسم فتح_حسابات_بنوك، لتتذكر الهدف من هذا الماكرو لاحقاً. تأكد من عدم ترك فراغات في خانة اسم الماكرو باستخدام (_) بين كلمات جملة الاسم. يمكنك تخصيص اختصار لتشغيل الماكرو إذا أردت استخدم خانة "مفتاح اختصار". حدد من القائمة المنسدلة مكان تخزين الماكرو وهو مصنف الماكرو الشخصي. إضغط على المفتاح "موافق". سيوفر لك Excel أزرار إيقاف تسجيل ماكرو والتي ستستخدمها عند الانتهاء من تسجيل أوامر ماكرو فتح ملف حسابات البنوك. لاحظ على شريط المعلومات حالة "تسجيل" وهنا فإن أي أمر ستقوم به سيسجل من قبل الماكرو. قم بفتح الملف حسابات البنوك كما كنت تفعل سابقاً. اضغط على زر إيقاف التسجيل. عند الخروج من Excel تأكد من حفظ التغييرات للماكرو لتكون متوفرة عند تشغيل Excel في المرة القادمة. تنفيذ الماكرو عند تشغيل Excel سنستخدم الماكرو "فتح_حسابات_بنوك" لفتح الملف السابق. خطوات تنفيذ ماكرو اختر الأمر "ماكرو" من قائمة "أدوات" ومن ثم اختر الأمر "وحدات ماكرو". في مربع حوار "وحدات ماكرو" حدد اسم الماكرو "فتح_حسابات_بنوك". اضغط على مفتاح تشغيل. سيقوم الماكرو بفتح الملف مختصرا الخطوات الروتينية المعتادة.
    1 point
×
×
  • اضف...

Important Information