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

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

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

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

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


    • نقاط

      16

    • Posts

      13165


  2. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      8

    • Posts

      10000


  3. رمهان

    رمهان

    الخبراء


    • نقاط

      6

    • Posts

      2390


  4. رجب جاويش

    رجب جاويش

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


    • نقاط

      4

    • Posts

      3492


Popular Content

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

  1. السلام عليكم ورحمة الله وبركاته بدايةً أحيي كل إخواني بالمنتدى وأسأل الله لهم دوام الصحة والعافية إنه لمن الغريب والعجيب أن يقوم مبتدئ في عالم البرمجة بعمل دورة ، ولكنها إخواني فكرة خطرت ببالي كي نتعلم سوياً ونستفيد من بعضنا البعض كل إناء ينضح بما عنده لكي نستزيد!! أود أن أنوه إلى أن هذا الموضوع لن يكون حكراً علي ولكن كل من عنده فكرة يقوم بطرحها للمناقشة كي نصل سوياً إلى مستوى ( لن أقول متقدم ) بل مستوى يرنو بنا إلى فهم عالم الأكواد ،هذا العالم الشيق والممتع . . . . . . . . . تقوم الفكرة التي ستساعدونني في تنفيذها على ترجمة أي من الكتب الأجنبية القوية في مجال VBA ، وقد سبق أن طلبت من الأخ يحيى كتاب يحقق لنا ذلك ، إلا أنه ربما لم يلتفت لطلبي أو نسيه - أسأل الله له الجنة فعلى الأخوة ترشيح كتاب نبدأ به حتى تكون الأفكار متسلسلة وواضحة لمن أراد التعلم سيقول البعض أن الأخ أبو هاجر المصري يقوم بذلك في دورته ، أرد قائلاً : هذه الدورة ستكون للمبتدئين أمثالي أي من تحت الصفر ونسير فيها رويداً رويداً حتى نصل إلى إتقان التعامل مع VBA أود من إخواني مدنا بيد العون خاصةً مشرفي المنتدى وجهابذة الإكسيل ** ملحوظة : أنا ضعيف جداً في البرمجة عشان محدش يسألني أنا شخصياً ، أي استفسار حيكون موجه للجميع تمنياتي بالتوفيق والنجاح في هذه الدورة *** تم تجميع الدروس الخاصة بهذه الدورة في آخر مشاركة بالموضوع ، والانتقال لدورة جديدة بعنوان (افتح الباب وادخل لعالم البرمجة)
    2 points
  2. اخ محسن انا متطفل هنا وعلى اساتذة الاكسل ولكن بعد اذنهم جميعا صحيح الاستهداف هي لتغيير خلية واحدة وبلغة الرياضيات هي طريقة لحل معادلة بمتغير واحد اما بالنسبة لطلبك وبتغير اكثر من خلية فهناك اداة السولفر solver وهي اصلا لها استخدامات كثيرة واكثر تعقيدا من حل معادلة باكثر من متغير هنا عليك اولا ان تبحث وتقوم باضافتها في علامة تبويب البيانات ثم حاول استخدامها ! واعتقد ان لديك نسخة الاوفيس 2013 من خلال ملف اختر خيارات ثم add on وستجد السولفر ضمن النافذة ... قم باضافتها ومحاولة استخدامها مشي الحال معاك اوك .. او عد وسنعود باذن الله سائلا الله التوفيق للجميع وهذه روابط بالمنتدى بالتوفيق
    2 points
  3. تغمروني بطيب تواصلكم ومساعدتكم الراقية شكراً أستاذ رجب ... شكراً استاذ ياسر افتخر انني بأن أكون فرد من عيلة هذه المنتدى الراقي شكراً لمساعدتكم
    2 points
  4. أخي الكريم صلاح المصري ... إليك الملف المرفق التالي فيه .... تطبيق عملي لاستخدام المصفوفات في عمليات الترحيل من خلال تخزين عناوين النطاقات المراد ترحيلها في مصفوفة حمل الملف من هنا
    2 points
  5. وعليكم السلام ورحمة الله وبركاته استاذ رمهان سقى الله ارض نور وجهك صبحها ... وفي الليل البهيملها بدرُ . حياك الله استاذي العزيز .. وكيف لا ترتجى فيك وانت من انت . زادك الله من فضله وعلمه وتقواه جعل قضاء حوائج الكرام على يديك . استاذي العزيز يبقى السؤال سجية السائل وهو اعرف بما يحتاجه لك مني خالص الاحترام وفائق التقدير
    2 points
  6. حياك الله انا شخصيا لا أميل الى تغيير إعدادات جهاز العميل ، ودقة الشاشة هي احد تلك الاعدادات ، فانا مستخدم ، واستعمل مجموعة برامج في نفس الوقت ، ومتأقلم على هذا الوضع ، ويجيني مبرمج يغير اعداداتي ، واويلاه فجدا مهم ان القى بدائل لبرامجي ، عن طريق برامجي ، ولبرامجي فقط ، وبدون تغيير اعدادات الكمبيوتر او الريجستري جعفر
    2 points
  7. السلام عليكم انا لا خبرة لي في هذا الموضوع ، ولكنه احد المواضيع المتداولة كثيرا ، Form Resizer انت في الواقع تريد: https://www.fmsinc.com/microsoftaccess/controls/components/form-resizer/index.html الاكسس 2010 له طريقة تستطيع ان تكبر/تصغر احجام حقول معينة في حال تكبير/تصغير الشاشة ، عن طريقة Anchoring ، مثل حقل Notes في الرابط التالي: http://www.appliedoffice.net/news/2009-may/access.html وهنا امثلة يمكن انزالها لتكبير/تصغير النموذج كاملا: http://jamiessoftware.esy.es/resizeform/afr.zip http://jamiessoftware.esy.es/articles/resolution.html http://www.databasejournal.com/features/msaccess/article.php/3689226/Auto-Resize-Access-Subforms.htm جعفر
    2 points
  8. عزيزي ومع اني اشك ان هناك طريق اقصر لما تريد ولكن كحل لمشكلة ظهور الرسالة في المعيار للاستعلام استبد المعيار السابق بالتالي [Forms]![S1M]![اسم الطالب] بالتوفيق
    2 points
  9. السلام عليكم تفضل أخى استخدم المعادلة الآتية للتنسيق الشرطى فى حالة الحضور =INDEX(B2:B14;MATCH(B20;A2:A14;0))="حضر" والمعادلة الآتية فى حالة عدم الحضور =INDEX(B2:B14;MATCH(B20;A2:A14;0))="لم يحضر" حضور.rar
    2 points
  10. إخواني الأعزاء السلام عليكم ورحمة الله وبركاته برنامجي الصغير والسريع للحماية برقم القرص الصلب أهديه إلى إخواني المبرجين المبتدئين في عالم الأكسس ملحوظة : نموذج التسجيل لا يظهر إلا مرة واحدة عند بداية التسجيل ثم يختفي كل ما عليك هو استيراد نموذج التسجيل ونموذج الترحيب والجدول إلى برنامجك ( لا تنسى تعديل اسم النموذج الرئيسي داخل الكود والذي هو في المثال "QQ" وتستبدله باسم النموذج الرئيسي في برنامجك المعادلة : ( رقم التسجيل = رقم النسخة + 55 * 2 ) وبإمكانك التعديل داخل الكود كما تشاء أمل أن يحوز على القبول والرضا فلا تنسوني من صالح دعائكم . تقبلوا تحياتي ،،، حماية برقم القرص يظهر مرة واحدة.rar
    1 point
  11. السلام عليكم ورحمة وبركاته .. في المرفق يتم استخراج بيانات الجهاز .. المعالج + الماذر بورد + الهارد ديسك اتمنى ان يفيد من يبحث عنه ... ولا نستغني ابدا عن توجيهات خبرائنا الكرام .. ونقاش الأخوة اعضاء المنتدى الحبيب وتبادل وجهات النظر وكذلك من له تجارب مع الموضوع. بالتوفق للجميع MyProtect.rar
    1 point
  12. السلام عليكم ورحمة الله وبركاته إخواني وأحبابي في الله .. بصراحة أعجز عن البداية في هذا الموضوع نظراً لكثرة المعلومات في هذا الموضوع وتشعب الموضوع بشكل كبير ، ويرجع هذا التشعب إلى أهمية الموضوع لأن العمل بالمصفوفات يجعل الأكواد تكون أسرع بكثير من التعامل بالأكواد العادية خصوصاً مع البيانات الكثيرة .. الموضوع سيكون مستمر بإذن الله .. فأنا أؤمن بالحكمة التي تقول : قليل دائم خير من كثير منقطع .. سنبدأ في تناول الموضوع جزء جزء لكي نستطيع أن نهضم سوياً الموضوع ، ونستفيد من هذا الموضوع أقصى استفادة ممكنة نبطل رغي ونبدأ في المهم يعني ايه مصفوفة Array ؟ قبل ما نتعرف على المصفوفة .. عرفنا في دورة افتح الباب وادخل لعالم البرمجة "المتغير Variable" وقلنا إن المتغير وظيفته إنه بيخزن قيمة (سواء القيمة دي نص أو رقم أو تاريخ أو أي نوع من أنواع البيانات) .. بس المتغير بيخزن قيمة واحدة مثال : لو عايز أخزن القيمة النصية Officena Forums في متغير كنا بنعمل ايه ..؟! بنعلن عن المتغير من النوع النصي في سطر وفي السطر التالي بنقوم بتعيين قيمة للمتغير .. Sub StringVariable() Dim str As String str = "Officena Forums" End Sub طيب عشان نتأكد إن شغلنا مضبوط عايزين نعرف المتغير دا تم تخزين القيمة النصية فيه ولا لا .. ممكن نستخدم طريقة من اتنين : الطريقة الأولى باستخدام MsgBox لإظهار رسالة للمستخدم بقيمة المتغير .. MsgBox str الطريقة التانية ودي مهمة جداً لأننا هنستخدمها أثناء شرح المصفوفات لمتابعة تنفيذ أسطر الكود .. الطريقة باستخدام Debug.Print Debug.Print str طيب الطريقة دي هتظهر لنا إزاي : هتظهر النتائج في نافذة اسمها النافذة الفورية Immediate Window (طيب دي أجيبها منين وإزاي؟!) روح للقائمة الموجودة في محرر الأكواد وانقر على View هتلاقي Immediate Window أو باختصار من لوحة المفاتيح اضغط على Ctrl + G .. هتظهر النافذة الفورية في أسفل محرر الأكواد .. جرب الكود بالشكل الكامل بهذا الشكل Sub StringVariable() Dim str As String str = "Officena Forums" MsgBox str Debug.Print str End Sub طيب لما نحب ننفذ الكود يا ريت لا يتم التنفيذ مرة واحدة من خلال الأمر Run .... عايز التنفيذ يتم واحدة واحدة وسطر بسطر عشان تتعلموا إزاي تتابعوا عمل الكود .. عشان ننفذ الكود سطر بسطر ونتابع عايزين نظهر نافذة تانية كمان اسمها Local Window وبردو من نفس القائمة View وحاول تظبط النافذتين بحيث يكونوا بجانب بعضهم البعض كما في الصورة بحيث تتابع التنفيذ خلينا عمليين ونطبق أول بأول : روح لمحرر الأكود وأدرج موديول وانسخ الكود وأظهر نافذة Local Window والنافذة الفورية وضع مؤشر الماوس داخل الكود في اي سطر واستعد للانطلاق (على السادة المبرمجين ربط الأحزمة وشحذ الهمة والتركيز) اضغط F8 من لوحة المفاتيح هتلاقي أول سطر Sub StringVariable اتلون باللون الأصفر .. هنا بيتم الإعلان عن المتغيرات (بص في نافذة اللوكال) هتلاقي اسم المتغير str في عمود اسمه Expression ، وقيمته "" في عمود اسمه Value (طبعاً لسه فراغ لأن لسه مخزناش فيه حاجة) ، ونوعه String في عمود Type .. يعني ببساطة عرفنا تاريخ حياته في اللحظة دي ..عرفنا اسمه وقيمته ونوعه (الكلام دا رغم إنه ملوش علاقة بموضوع المصفوفات لكنه مهم جداً عشان نفهم إزاي نتعامل مع محرر الأكواد بشكل احترافي ونعلم نفسنا إزاي الكود بيتم تنفيذه) نضغط F8 تاني (هنا مفيش حاجة حصلت) السطر الأصفر انتقل للسطر ده str = "Officena Forums" ولكن محصلش أي تغيير في نافذة اللوكال ..دا لأن التغيير بيحصل لما بخرج من السطر الأصفر .. اضغط F8 للمرة التالتة وشوف نافذة اللوكال ولاحظ قيمة المتغير .. اتغيرت القيمة من فراغ إلى النص Officena Forums اضغط F8 للمرة الرابعة هتظهر لك رسالة فيها قيمة النص اضغط F8 للمرة الخامسة هيظهر قيمة المتغير في النافذة الفورية اضغط F8 للمرة السادسة والأخيرة على سطر End Sub لإنهاء الإجراء الفرعي بكدا نكون عرفنا إزاي هنتعامل مع تنفيذ الكود أثناء الدورة ... طولت في النقطة اللي فاتت شويتين بس كان لازم منها عشان ننتقل إلى مرحلة الاحترافية في التعامل مع الأكواد *************** طيب سؤال ايه علاقة المتغير بالمصفوفة؟ الإجابة إن المصفوفة متغير بس مش بيخزن قيمة واحدة (دا بيخزن مجموعة من المتغيرات دفعة واحدة) مثال عملي لفهم المصفوفة بشكل أعمق ::: نفترض أن لدينا 5 طلاب وليهم درجات ..نروح لورقة العمل ونكتب 5 أسماء بدرجاتهم كما بالشكل التالي نروح لمحرر الأكودا وننفذ الكود التالي ..الكود مش محتاج شرح الكود بسيط جداً Sub StudentMarks() With ThisWorkbook.Worksheets("Sheet1") 'الإعلان عن متغير لكل طالب Dim Student1 As Integer Dim Student2 As Integer Dim Student3 As Integer Dim Student4 As Integer Dim Student5 As Integer 'تعيين قيم المتغيرات من الخلايا المشار إليها Student1 = .Range("B1").Offset(1) Student2 = .Range("B1").Offset(2) Student3 = .Range("B1").Offset(3) Student4 = .Range("B1").Offset(4) Student5 = .Range("B1").Offset(5) 'طباعة الدرجات في النافذة الفورية Debug.Print "درجات الطلاب" Debug.Print Student1 Debug.Print Student2 Debug.Print Student3 Debug.Print Student4 Debug.Print Student5 End With End Sub أول سطر في الكود عشان نتعامل مع المصنف الحالي الذي يحتوي الكود .. والتعامل هيكون مع ورقة العمل Sheet1 ... الجزء الأول بيتم الإعلان عن المتغيرات لدرجات الطلاب من النوع Integer أي عدد صحيح (طبعاً دا مجرد مثال .. لأن الدرجات من المفترض إنها تكون Double لأن أكيد بيكون فيه كسور)>>المهم الجزء التاني بيتم تعيين قيم للمتغيرات (الدرجات) انطلاقاً من الخلية B1 ... بإزاحة بمقدار صف واحد لأسفل هيجيب قيمة الخلية B1 ... بإزاحة بمقدار صفين هيجيب الخلية B3 وهكذا الجزء التالت هيطبع درجات الطلاب في النافذة الفورية لتكون النافذة الفورية بهذا الشكل طيب المثال اللي فات 5 طلاب ..طيب لو عندي 100 طالب .. 500 طالب .. 1000 طالب .. 10000 طالب (هل سيكون التعامل مع طالب طالب ..؟؟ دا أكيد انتحار ) من هنا تأتي أهمية المصفوفة لتخزين جميع القيم في متغير واحد فقط .. يعني المصفوفة هتخليني أخزن القيم (درجات الطلاب) في متغير واحد فقط Sub StudentMarksArr() With ThisWorkbook.Worksheets("Sheet1") 'الإعلان عن متغير من النوع مصفوفة وأبعاد المصفوفة 5 عناصر 'لأن عدد الطلاب 5 طلاب والمطلوب تخزين درجاتهم في المصوفة Dim Students(1 To 5) As Integer 'قراءة درجات الطلاب من ورقة العمل Dim I As Integer For I = 1 To 5 Students(I) = .Range("B1").Offset(I) Next I 'طباعة الدرجات من المصفوفة في النافذة الفورية Debug.Print "درجات الطلاب" For I = LBound(Students) To UBound(Students) Debug.Print Students(I) Next I End With End Sub تم الإعلان عن اسم المتغير Students وطالما وضعنا أقواس بعد المتغير ..محرر الأكواد بيفهم إن دي مصفوفة .. طيب ايه الأرقام اللي ما بين الأقواس 1 إلى 5 دا اسم البعد الأول للمصفوفة (لأن المصفوفة دي عبارة عن عمود واحد اللي هو عمود الدرجات ودي بيسموها مصفوفة ذات بعد واحد (أحادية الأبعاد) وإن شاء الله هنتكلم عنها بالتفصيل نضع المؤشر داخل الكود ونضغط F8 ونبص في اللوكال ... ركز يا مان وشوف المتغير اللي اسمه Students في نافذة اللوكال هتلاقي علامة زائد انقر عليها زي ما إحنا شايفين اللوكال قالت كل حاجة ..قالت الأبعاد وقالت لنا على عناصر المصفوفة ورقم الفهرس لكل عنصر (الرقم اللي بين أقواس بعد اسم المصفوفة دي رقم الفهرس ) طبعاً لسه الكود في بدايتة فالقيم كلها ما زالت صفر .. ابدأ في التنقل باستخدام F8 كما تعلمنا وارجع بعد شوية .... لاحظت في الحلقة التكرارية اللي بدأت من 1 إلى 5 إن القيم الموجودة بدأت تتغير من أصفار إلى قيم (درجات الطلاب) لمزيد حول الحلقة التكرارية للمصفوفة راجع الموضوع التالي من هنا نيجي لآخر جزئية وهي طباعة الدرجات في النافذة الفورية ... هنا تم استخدام الحلقات التكرارية من بداية المصفوفة باستخدام كلمة LBound يليها اسم المصفوفة ، إلى نهاية المصفوفة باستخدام كلمة UBound يليها اسم المصفوفة .. ببساطة الكلمتين دول بيجيبوا الحد الأدنى للمصفوفة (1 كما في المثال) والحد الأعلى للمصفوفة (5 كما في المثال) قم بالضغط على F8 واحدة واحدة وشوف التغيرات اللي بتحصل في نافذة اللوكال والنافذة الفورية عشان تقدر تستوعب عمل الكود بشكل جيد إلى هنا حانت لحظة النوم وبدأ النوم يداعب جفوني ، ألتقي بكم على خير إن شاء الله وإلى لقاء آخر وموضوع متجدد بإذن الله دمتم على طاعة الله والسلام عليكم ورحمة الله وبركاته
    1 point
  13. اولا قبل الاطلاع على الموضوع والمعلومات الدسمه حبيت اقولك جزاك الله كل خير يا ابو البراء جعله الله فى موازين حسناتك تقبل وافر التحيه والتقدير وفقك الله لما يحبه ويرضاه ورزقك الفردوس الاعلى جزاك الله كل خير يا ابو البراء
    1 point
  14. حبيبى يا ابوالبراء جزاك الله كل خير مكنتش لسه وصلت للحلقه الخامسه Sub news() With Range("A1:B10") .Font.Bold = True .HorizontalAlignment = xlRight .Font.Name = "Andalus" .Font.Size = 14 End With End Sub كده تمام يا استاذ ولا لسه هضرب تانى انا رجليا بربقت من البرد ههههههههههههههههه مش من الضرب
    1 point
  15. بسم الله ما شاء الله عليك أخي الغالي رمهان متمكن ... ورائع ما تسيبك من الأكسس وخليك معانا في الإكسيل ..!!
    1 point
  16. أخي العزيز أحمد رغم إن الدورة خلصت من فترة لكن يبدو إن فيه واجبات لازم تتصحح تاني .. بالنسبة للكود ده بص كويس في بداية كل سطر Sub news() ' ' news ماكرو ' ahmed ' ' Range("A1:B10").Font.Bold = True Range("A1:B10").HorizontalAlignment = xlRight Range("A1:B10").Font.Name = "Andalus" Range("A1:B10").Font.Size = 14 End Sub بصيت كويس ..تمام لاحظت ايه؟؟ علي صوتك عشان أسمعك ... بتقول لاحظت أنه نفس النطاق .... طيب ارجع اقرا الحلقة من تاني وشوف بنعمل ايه لما نتعامل مع نفس النطاق لأكثر من سطر وارجع لي بعد ما تراجع الحلقة (بلاش كروتة) تقبل تحياتي
    1 point
  17. ودى اول جزئية فى الواجب التانى Sub xname() Dim xnames As String xnames = "ياسر خليل حبيبى واستاذى جزاه الله كل خير " Range("c5").Value = xnames End Sub جزاك الله كل خير يا ابو البراء
    1 point
  18. السلام عليكم أهلا بك أخي العزيز في هذا المنتدى وأتمنى أن ينال رضاك وتجد فيه حلولا لكافة المشاكل التي تواجهك في مجال البرمجة وأتمنى (وكما هو المعمول به في هذا المنتدى) أن تغير اسم ظهورك إلى اللغة العربية فضلا لا أمرا أخي العزيز الرجاء التوضيح أكثر حول طلبك أنا حملت الملف ودخلت على شبت إبريل 2016 وقمت بحماية الورقة ثم أدخلت رقم وظيفي في خانة رقم الموظف وأحضر لي المعلومات وبدون مشاكل فما هي المشكلة تحديدا ؟ تحياتي
    1 point
  19. الله عليك يا استاذ رمهان ربي يزيدك من نعيمة صحيح الافكار السابقة غير دقيقة وهذا احسن تعبير ربي يوفقك
    1 point
  20. أخى الفاضل / كمال محمد جزاك الله خيرا على كلماتك الطيبة ومرحبا بك فى عائلة أوفسينا والحمد أن تم المطلوب كما تريد
    1 point
  21. السادة المحترمون الافاضل أ/ جعفر و أ/اواب شكرا على اهتمامكم وسرعة ردكم الحمد لله جدة ما ابحث عنه فى رد أ /جعفر شكراً لكم
    1 point
  22. دورة برنامج Excel فيديو وصوت ( عربي )
    1 point
  23. السلام عليكم اخي هيثم حفظ المرفقات في البرنامج سيجعل حجم البرنامج كبير جدا ، وله عواقب وخيمة لهذا السبب ، فالنصيحة ان تحفظ المرفقات في مجلدات الوندوز ، ولكن تربط المرفق برقم ID السجل مثلا المنتدى مليئ بهذا النوع من الامثلة ، وهنا مجموعة امثلة أخونا الكبير ابو خليل: http://www.officena.net/ib/topic/60554-ادراج-صورة-من-الماسح-_-سحب-الصور/?do=findComment&comment=390508 http://www.officena.net/ib/topic/60554-ادراج-صورة-من-الماسح-_-سحب-الصور/ http://www.officena.net/ib/topic/55050-ادراج-صورة-_-اضافة-وحذف/ http://www.officena.net/ib/topic/62131-جلب-الصور-دفعة-واحدة-الى-مجلد-البرنامج-حسب-الاسم-المعرف/ وهنا مثال موسع لي: http://www.officena.net/ib/topic/62143-هدية-سحب-اكثر-من-صورة-من-الاسكنر-وتحويلها-الي-pdf-او-صور-مسلسلة/ وهذا مثال ، ولكن حيث يتم فتح المرفق بالبرنامج الافتراضي للكمبيوتر: http://www.officena.net/ib/topic/55053-فتح-صورة-بـ-مستعرض-الصور/ جعفر
    1 point
  24. متشكرين على دكر البط
    1 point
  25. سجل معلوماتك في صفحة واحدة و ارسلها كل مغلومة الى صفحتها المخصصة writ_In_One Sheet.rar
    1 point
  26. اخى وحبيبى فى الله واستاذى الجليل انا اتعلم منكم وعلى يديكم المنتدى بالنسبة الى كحديقة تكسوها الاشجار المثمرة وانتم اساتذتى كالثمار المتنوعه لكل اسلوبه ومنهاجه ولكل طريقه وطريقته ولكن اولا واخيرا لا غنى عنكم جميعا نسأل الله تعالى ان يرزقكم بره وهداه وجنته وان يرزقكم سعة فى العلم وبركة فى العمر والاهل والولد والله مهما قدمنا لكم لن نوفيكم قدركم وحقكم نسأل الله تعالى ان يجعل كل اعمالكم خالصة لوجهه الكريم
    1 point
  27. معي تمام اكسس 2013 وويندوز 7 وهنا ولعل به فائدة بالتوفيق
    1 point
  28. 1. سيبك من ده دلوقتي 2. ميزة الاكسس هو مصمم الاستعلامات ، استفيد منه ، لأنه جدا قوي ، و أحد اسرار الاستعلام ، ما تعمل كل شئ في استعلام واحد ، وانما تهيئ استعلام لإستعلام آخر (كما في مثالك اعلاه ، وكما في المثال التالي): http://www.officena.net/ib/topic/67637-جمع-حقول/?do=findComment&comment=440543 هي قاعدة البيانات ايه؟ 1. ادخال بيانات ، 2. بحث وتصفية البيانات (استعلام) ، 3. إظهار النتائج. فالاستعلام هو اهم شئ تقدر تستفيد منه في الاكسس ، وحتى لما نستعمل الكود ، نستخدم الاستعلام للسجلات اللي نريدها (يعني نجهز السجلات اولا بالاستعلام) ، ثم نكمل الباقي بالكود ، والذي هو أبطأ بكثير في عمله من الاستعلام جعفر
    1 point
  29. أخى الكريم // عبد العزيز البسكرى بارك الله فيكم وزادكم الله من فضله ومن علمه بداية بالنسبة لمربع الحوار بها إختيارين أينعم وهى لتجبر المستخدم على إدخال اسم الحاله ( المريض ) لكى أجبره على استخدام البريمج ليس إلا ومن ثم يمكنك بعد ادخال الاسم يظهر لك مربع حوار يمكنك من خلاله التراجع عن الإدخال أى ادخال اسم المريض ( الحاله ) أما بالنسبة للملف التنفيذى فهو للعلم ليس له فائدة غير أنه يمكنك من التعامل مع الملف الذى به أكواد بدون الحاجه الى خفض أمان الماكرو فالأكواد التى بالملف هى تمنع المستخدم من استخدام زر ESC وكذلك من الدخول الى محرر الأكواد اى تمنعك من استخدام زري ( ALT+F11 ) وطبعا يمكن التحايل عليها بكل سهوله حيث أننى لم أضع باسوورد لمحرر الأكواد والطريقة سهله وهى بتحميل ملف من موقع ( DoneEx ) وهى نسخة تجريبية لمدة 30 يوم ويمكنك شراؤها من الموقع رابط الموقع http://doneex.com/excel-compiler/ أو طبعا بعد تحميلها من الممكن كسر المدة وهى تقوم بعد تسطيبها بإضافة قائمة جديدة بالاكسل بإسمها ومن خلالها تقوم بتحويل الملف الى ملف تنفيذى وتختار صورة لجعلها أيقونه للملف وتقبل منى وافر الاحترام والتقدير
    1 point
  30. يا استاذ عبدالعزيز لوسمحت المرة القادمة تعطي معلومات كاملة عن الشئ اللي تريد ان تعمله ، وبالتفصيل ، يعني مثل ما عملت في المشاركة الاخيرة ، بس علشان استطيع ان افهم الموضوع السبب انك لا تستطيع ان تعمل تصفية للحقل natygh مثلا في الاستعلام ، لأن الحقل جاري احتسابه في الاستعلام وانت تريد تصفيته ، فما يصير ، يصير ان نعمل تصفية للمعلومات الجاهزة فقط!! لذلك ، اعمل استعلام جديد ولنسميه qry_Data_Entry2 ، واجعل مصدره الاستعلام qry_Data_Entry (هنا يكون الاستعلام qry_Data_Entry قد قام بالحساب والجمع) ، ثم اعمل التصفية على الحقلين natygh و mostwa في الاستعلام qry_Data_Entry2 طبعا لا تنسى ان تغير مصدر بيانات النموذج الى qry_Data_Entry2 جعفر 307.1.المعلم اليمني المجموع والمحصله.mdb.zip
    1 point
  31. أخى الحبيب ياسر والله مشغول جدا هذه الأيام ولكن أحاول قدر الامكان التواجد ولكن ضيق الوقت لا يسمح لى بالتواجد المستمر ان شاء فترة بسيطة والأمور تتحسن وأعوض الغياب باذن الله جزاك الله كل خير على سؤالك الطيب تقبل أرق تحياتى وتقديرى
    1 point
  32. أخي الحبيب رجب جاويش بارك الله فيك وجزاك الله كل خير .. لقد افتقدنا وجودك لعل غيابك خير ... لا تحرمنا من تواجدك معنا فأنت في القلب تقبل وافر تقديري واحترامي
    1 point
  33. نعم اخي تستطيع و ذلك بعمل اركايف من داخل الاوتلوك وبذلك تختفي الايميلات التي عملت لها اركايف من داخل الجيميل وتستطيع استعراضها بدون انترنيت من داخل الاوتلوك تحياتي
    1 point
  34. وجزيت خيراً بمثل ما دعوت لي أخي الفاضل أبو تهاني
    1 point
  35. اليك المثال: جدول به حقل الاسماء ، انا اريد ان يكون الاسم jjafferr في اول القائمة ، والاسم e يكون ثاني اسم . اذا فرزنا حقل الاسم من الاصغر الى الاكبر ، . فالنتيجة ماهي اللي نريدها . واذا فرزنا حقل الاسم من الاكبر الى الاصغر ، فكذلك النتيجة ماهي اللي نريدها . والحل ، ان نعمل تسلسل في الحقل Seq ، بحيث ان نضع للإسم jjafferr رقم 1 ، والاسم e الرقم 2 : . والآن نفرز الحقل seq من الاصغر الى الاكبر . وهذه هي النتيجة/التسلسل الذي نريده . انا استخدم هذه الطريقة لفرز مربع التحرير / والسرد ، بحيث اضع في اعلا القائمة ، الاسم الذي اريده واللي يتكرر بإستمرار الموضوع لا يتوقف عند هذا الحد ، فاذا كان عندك حقل آخر يريد ترتيب خاص ، في نفس الجدول ، بسيطة ، اعمل حقل Seq2 له سهله هاه جعفر 249.Seq.mdb.zip
    1 point
  36. أخي الفاضل إسلام صلاح بارك الله فيك وجزاك الله خيراً على مرورك العطر أهلا بك في المنتدى ونورت بين إخوانك يرجى تغيير اسم الظهور للغة العربية تقبل تحياتي
    1 point
  37. السلام عليكم ورحمة الله وبركاته كيف حالكم إخواني الكرام في المنتدى الغالي؟ لقيت نفسي نفسي (نفسي الأولى غير التانية ..) نفسي الأولى يعني أنا - وأعوذ بالله من كلمة أنا - ، ونفسي التانية يعني حاجة أتمنى أعملها .. المهم لقيت نفسي أعمل حاجة مختلفة .. بشكل مختلف .. بأسلوب مختلف يكون فيه عنصر التشويق والإثارة والبساطة مجتمعين في نفس الوقت. كتير مننا أول ما يسمع كلمة البرمجة والأكواد يتخض وكأن الموضوع مستحيل ...أبدا كل الحكاية إننا بنبدأ غلط مش بناخد الخطوات الصحيحة لتعلم البرمجة. لو عايز تتعلم البرمجة ونفسك بجد تبدأ تتمكن فيها خليك معايا ، هنقضيها رغي شوية وهزار شويتين ، وجد مش كتير ... ايه رأيكم؟ نبدأ على بركة الله .. أول حاجة بعد ما تنصب الأوفيس وتفتح الإكسيل تلاقي اللي انت عايزه مش موجود طيب نظهره إزاي ؟؟ ببساطة فيه زر أوفيس فوق شمال هتضغط عليه وتضغط 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
  38. متابعة الواجبات : ************** قام الأخ الفاضل الجموعي بعمل الواجب المطلوب على أكمل وجه .. بارك الله فيك أخي الحبيب الجموعي وجزيت خيراً على هذه المتابعة الجيدة ممكن نستفيد معلومات جديدة من خلال الواجب مش هنصحح كدا ونقول صح ولا غلط وبس لا إحنا نضيف معلومة تضاف للحلقة الثالثة كملحق ليها . يا ريت المشرفين يقوموا بالمهمة دي .. عايز تجميع لكل الحلقات والملحقات للحلقات زي الملحق ده عشان يضاف للشرح لتسهيل المتابعة لمن أراد المتابعة بإذن الله . طبعا الكود اللي تفضل به أخونا الفاضل بالشكل ده Range("A1:B10").HorizontalAlignment = xlCenter Range("A1:B10").Font.Name = "Arial" Range("A1:B10").Font.Size = 14 Range("A1:B10").Font.Bold = True Range("A1:B10").Font.Color = -4165632 لو لاحطنا هنلاقي الأسطر الخمسة كلها بتبدأ نفس البداية ودا طبيعي لأن كل الشغل على نفس النطاق . ممكن تضيف لمعلوماتك إنك ممكن تستغنى عن تكرار هذه البداية باستخدام جملة With .... End With ومننساش بردو القفلة مهمة جدا نقطة تانية بالنسبة للون يمكن استبالها بقيمة vbBlue بدلا من الرقم اللي شكله يخض ده .. الأسطر كلها تحتوي على Properties أي خصائص وطبعا كل خاصية بيكون ليها قيمة ..ممكن تكون القيمة نص زي اسم نوع الخط Arial وطبعا مننساش إن النص يوضع بين أقواس تنصيص .. وقد تكون القيمة رقم زي حجم الخط ودا طبيعي لأن الحجم بيكون برقم (افتكروا التلاجة الـ 10 قدم .. رقم 10 دا حجم) .. وممكن تكون القيمة حاجة اسمها Boolean أيوا يا شيرين اسمها بولين ، ودي يا إما 1 أو 0 واحد هيقولي غلط إنت بتدي معلومات غلط هي القيمة إما True أو False هقوله صحيح .. ما هي القيمة True =1 والقيمة False = 0 ، وقد تكون القيمة عبارة عن تنسيق معين زي أول سطر xlCenter ودي شرحناها الحمد لله .. وقد تكون قيمة ثابتة vbBlue زي مثلا اللون الأزرق دا ثابت ومعرف في محرر الأكواد هيكون الكود بهذا الشكل بعد التعديل عليه .. وبكدا نكون اتعرفنا على أشكال مختلفة للقيم اللي بتيجي بعد علامة يساوي يعني دلوقتي الأخ الجموعي اختصر الكود اللي في تسجيل الماكرو بشكل رائع ، وإحنا كمان هنختصر اللي اختصره في الكود التالي فبكدا يكون دا مختصر المختصر (يعني دا المفيد) With Range("A1:B10") .HorizontalAlignment = xlCenter .Font.Name = "Arial" .Font.Size = 14 .Font.Bold = True .Font.Color = vbBlue End With آخر نقطة ممكن نتكلم فيها عشان دي أنا نسيتها إزاي نربط الماكرو بزر يقوم بالتنفيذ : معلش نسيت النقطة المهمة دي - اعذروني بسبب الزهايمر - بنروح للتبويب ومش هقول اسمه لأن كل شغلنا عليه هنلاقي فيه كلمة Insert بنضغط عليها بيفتح معانا قايمة منسدلة فيها أدوات تحكم اختار أول واحد اسمها Button (Form Control ودا أول أداة تحكم موجودة وأكثرها استعمالا ..ارسمها ببساطة على ورقة العمل وبعديها كليك يمين ثم اختر الأمر Assign Macro وحدد اسم الماكرو المراد ربط الكود به في المثال السابق مثلا دا مثلا شكل الكود بالكامل فيه اسم الإجراء الفرعي بعد كلمة Sub Sub FormatRangeA1_B10() With Range("A1:B10") .HorizontalAlignment = xlCenter .Font.Name = "Arial" .Font.Size = 14 .Font.Bold = True .Font.Color = vbBlue End With End Sub لما نعمل كليك يمين على زر التحكم هنلاقي اسم الإجراء الفرعي موجود نعلم عليه ونضغط أوك وبكدا نكون ربطنا الكود بزر تحكم ما عليك الآن إلا أن تقوم بعمل كليك واحدة على الزر لتنفيذ الأمر بكل بساطة .. الأخت الفاضلة morestudy بالنسبة لأول ملف عندك مفيش أي خطأ لا في الكود ولا في التنفيذ .. وبعدين لما يظهر خطأ يا ريت نسرد محتوى رسالة الخطأ لتحليلها .. بس الملف مفيهوش أي مشكلة. الملف الثاني أيوا فيه أخطاء المفروض إننا لازم قبل أي شيء الإشارة لنطاق محدد في الأسطر اللي في الكود خاصتك مفيش إشارة فطبيعي إنه يكون غط راجعي الكود اللي تفضل بيه الأخ الجموعي وشوفي الفرق .. وصححي الخطأ بنفسك أرجو ان تكونوا قد استفدتم إخواني الكرام دمتم في رعاية الله وحفظه
    1 point
  39. الحلقة الخامسة **************** السلام عليكم ورحمة الله وبركاته نستكمل حلقاتنا للي متابعين .. وللي مش متابعين بردو! هنتكلم النهاردة عن النطاقات في VBA وطرق تحديدها ... نبدأ الأول نعرف معنى كلمة نطاق : هل النطاق مجموعة خلايا متجاورة (جنب بعض) ولا مجموعة خلايا غير متجاورة (خلايا زعلانة ومتخاصمة فبعيد عن بعض) ؟ أعتقد إن فيه كتير فاهمين كلمة نطاق غلط .. أولا نطاق بالانجليزي Range والنطاق في الإكسيل بيكون مطاطي (مرن) بيشمل مجموعة كبيرة من المفاهيم :: الخلية الواحدة اسمها نطاق .. واحد يقولي يعني A1 دي نطااااااااااق .. إنت كدا خليت الخلية تاخد أكبر من حجمها هي مجرد خلية ، أرد وأقوله .. الخلية نطاق ومجموعة الخلايا المتجاورة نطاق ، ومجموعة الخلايا الغير متجاورة نطاق ، والصف الواحد نطاق ، ومجموعة صفوف نطاق ، والعمود الواحد نطاق ، ومجموعة أعمدة نطاق .. بس خلاااص (الحاجة الوحيدة اللي لا تصلح إنك تحدد نطاق في أكتر من ورقة عمل .. يعني الشغل كله في تحديد النطاقات بيكون في ورقة واحدة .. بمعنى آخر ميجيش واحد ويقول عايز أحدد مجموعة خلايا في الورقة الأولى + مجموعة خلايا في الورقة التانية دي لسه بيل جيتس معلمهاش) جميل لحد دلوقتي يبقا كدا اتعرفنا على لفظ نطاق ..طيب كلنا عارفين إننا عشان نقدر ننفذ أمر معين لازم الأول نحدد النطاق اللي هيتم التنفيذ عليه .. مينفعش أقول مثلا نسق الخلايا ولونها وخلي حجمها 14 - طبيعي إن اللي بيفكر كدا يبقا فاهم إن الكمبيوتر بيسمعه وعارف عايز ايه ، مفيش خلاف إننا لما بنتعامل مع الكمبيوتر مننساش إننا بنتعامل مع آلة ، يعني مهما كانت درجة تفوقها فهي غبية ، والغباء هنا صفة مش مذمومة ، الغباء اللي أقصده إنه لازم تمشي خطوات منطقية ومنطقية جدا عشان تقدر تحقق هدفك .. فأول خطوة دايما للتعامل غالبا بتكون تحديد النطاق اللي هشتغل عليه .. عشان كدا هافرد الشرح عن تحديد الخلايا والنطاقات بشكل تفصيلي .. ادعوا لي ربنا يوفقني في توصيل المعلومة) نبدأ على بركة الله .. واحد هيقولي : كل دي بداية دا إنت هتطلع عنينا ، على ما نعرف المعلومة (بس أحب أوضح إن الأمور لما تكون مفهومة تمام الفهم والإدراك ، دا بيسهل عملية التعلم بشكل كبير ؛ عشان كدا متستغربوش إني برغي كتير .. الهدف في النهاية توصيل المعلومة بأسلوب غير تقليدي) بصراحة أنا مش مرتب هشرح إزاي الموضوع نظرا لأن فيه معلومات كتير وخايف تتوهوا مني .. بس دلوقتي خطرت لي فكرة إننا نقسم الموضوع ، ونتعامل مع جزئية جزئية أول جزئية هنتكلم عليها الخلية المفردة (الخلية : زي ما إحنا عارفين عبارة عن التقاء الصف مع العمود ..معلومة قديمة .. والصف بيكون عبارة عن رقم ، والعمود عبارة عن اسم حرف .. بردو معلومة قديمة .. والخلية لما بنسميها بتكون عبارة عن اسم العمود وبعديها رقم الصف .. بردو معلومة قديمة!!) (شكلي كدا معنديش معلومة جديدة أديهالكم النهاردة !!) مثال : لو قلنا الصف الرابع والعمود الخامس ، هنعبر عنه إزاي ؟ نحسبها : نبدأ الأول بالعمود (نظرا لأن العمود رأسي وأنا رأسي مشغولة بالفكرة) ، العمود الخامس دا فين .. عشان نعرف يبقا لازم ناخد درس إنجليزي الأول ونركز على الحروف (أصلي معلم إنجليزي وعايز أسوق لنفسي دروس) ..نبدأ نقول مع بعض : A و B و C و D و E (بس خلاص وصلنا للحرف الخامس يبقا العمود الهدف هو العمود E .. بلغة البرمجة Target.Column=5 .. محدش يدقق أوي في الجملة دي ، بعدين هنعرفها ، دا كان حرف العمود ، والرقم مش محتاج نحسبه لأن الصف الهدف هو الرابع .. بلغة البرمجة Target.Row=4 (بكدا تكون عنوان الخلية الهدف هي الخلية E4 .. وبلغة البرمجة Target.Address=$E$4 السؤال الأول : كيف يمكن تحديد الخلية E4 في محرر الأكواد ؟ الإجابة : الإجابات متنوعة ، نشوف كل الطرق عشان نتعلم ... أول طريقة : استخدام الخاصية Range >> نطبق على الخلية E4 مثلا Range("E4").Select هنا لازم بعد الخاصية Range بنفتح قوس ) وبعد القوس قوس تنصيص " وبعدين عنوان الخلية .. وزي ما اتعودنا القفلة يا رجالة ... كدا إحنا أشرنا للخلية E4 ، ونقول لمحرر الأكواد حددها بكلمة Select تاني طريقة : استخدام الخاصية Cells ، ودي مختلفة شوية Cells(4, 5).Select هنا بنفتح قوس بعد الخاصية Cells وبنستخدم أرقام (رقم الصف الأول ، وبعدين رقم العمود) ودي شرحناها بالتفصيل وعرفنا إن رقم الصف 4 ، ورقم العمود E هيكون رقم 5 ، ونفس القصة بعد الإشارة للخلية الهدف نقول لمحرر الأكواد حددها بكلمة Select تالت طريقة زي تاني طريقة ..إننا نستخدم Cells بردو (إزاي دي ؟؟!!) Cells(4, "E").Select هنا لو موضوع رقم العمود دا مضايقك ، ولا يهمك هنشوف لك بديل ، ممكن تكتب اسم العمود بس مننساش أقواس التنصيص !! رابع طريقة : طريقة الباشمهندس طارق محمود (أنا سميتها كدا لأنها المفضلة عند الباشمهندس طارق) [E4].Select ويا ريت نعرف كل الطرق ، لأن كل طريقة وليها استخدامها في مواقف معينة .. دي بتيجي مع الخبرة .. نقطة أخيرة قبل ما ننتقل للجزئية التانية .. افتراضيا الشغل بالشكل ده على ActiveSheet يعني كل الأسطر اللي كتبناها ممكن نضيف قبل كل سطر كلمة ActiveSheet متبوعة بنقطة (عشان لما نبدأ نتعامل مع أكتر من ورقة نخلي بالنا .. بس لو شيلناها بيفهم محرر الأكواد إننا بنتعامل مع المصنف النشط الورقة النشطة) @ انتهى الجزء الأول@ السؤال التاني : كيف يمكن تحديد النطاق A1:C10 في محرر الأكواد؟ الإجابة : أجب بنفسك (ارحموني شوية كله عليا لوحدي ، أنا تعبت!!) Range("A1:C10").Select هنا استخدمنا الخاصية Range (واحد هيسأل هي Range خاصية ولا كائن .. أقولك هي كائن وخاصية ، هي من ضمن خواص ورقة العمل ، وفي نفس الوقت كائن (يعني ممكن نقول تابع ومتبوع) ...هنا عشان نحدد نطاق الموضوع في منتهى البساطة بنحدد أول خلية في النطاق وآخر خلية في النطاق (لما نجرب نحدد بالماوس الخلية A1 وبعدين نضغط Shift من لوحة المفاتيح ونحدد الخلية C10 هنلاقي النطاق اللي ما بين الخليتين تم تحديده بالكامل ، أنا قلت الحتة دي ليه ؟ ؛ عشان أوصلكم معلومة إننا كل اللي بيهمنا عشان نحدد نطاق بدايته ونهايته ..... نلاحظ إننا فصلنا بين البداية والنهاية بالعلامة دي : طريقة تانية : Range("A1", "C10").Select زيها بس الفصل بين البداية والنهاية بيكون بفاصلة .. وهنا لاحظ الاختلاف بنفسك (مش كل حاجة لازم نشرحها بالتفصيل .. فيه ناس بدأت تحس بالملل والرتابة ) طريقة تالتة : اننا نستخدم Range و Cells مع بعض Range(Cells(1, 1), Cells(10, 3)).Select واحد هيبص للسطر اللي فات ويقولي ايه الكلكعة دي إنت كنت ماشي زي الفل والأمور واضحة ..مالها بقت ضلمة ليه كدا ؟؟ يا حاج سعد ولا ضلمة ولا حاجة إنت بس ركز كد .. الخاصية Range بيكون وراها قوسين بين القوسين بداية ونهاية .. البداية Cells(1, 1) اللي هي مرادف الخلية A1 والنهاية Cells(10, 3) اللي هي الخلية C10 بكدا نكون حددنا البداية والنهاية داخل الخاصية Range ...أظن الأمور كدا بقت واضحة يا شوقي !! طريقة رابعة إننا نسمي النطاق في ورقة العمل .. وطبعا دي أمرها بسيط ..داخل ورقة العمل بحدد A1:C10 وأسميها عن طريق وضع الماوس في صندوق الاسم ونكتب اسم وليكن Officena Range("Officena").Select ومننساش إن Officena دي اسم للنطاق ، والاسم نص ، والنص يؤكل إذاً الجبن يؤكل ..أعتذر (سرحت في الفلسفة : الخوف جبن والجبن يؤكل إذاً الخوف يؤكل ..دا منطق فاسد) أما المنطق بتاعنا مش فاسد الحمد لله ... الاسم نص والنص يوضع بين أقواس تنصيص. خامس طريقة (طريقة باشمهندس المنتدى .. من أحب الناس لقلبي) [A1:C10].Select @انتهى الجزء الثاني@ الجزء الثالث عن طريقة تحديد خلايا أو نطاق في ورقة عمل أخرى داخل المصنف .. ودي بسيطة بس ركزوا لأنها مختلفة شوية أد كدا (طبعا محدش شايف ايدي والحمد لله ، لأنكم لو شفتوا ايدي هتدعوا عليا !!..) Application.Goto Sheets(3).Range("A1:C10") الخاصية Goto دي مش خاصية يا متنورين ، دي Method لأنها حدث أو فعل (نسينا ..كله يراجع تاني ، وإلا مش هكمل ) معناها( اذهب إلى ) ، وبعدين مسافة ، وبنحدد المكان اللي هيروحله محرر الأكواد .. نخلي بالنا هنا مستخدمناش Select والله يا أبطال مستخدمناها ، ولو استخدمناها محرر الأكواد هيفضحنا برسالة خطأ الـ Method هنا اللي اسمها Goto أغنت عن الـ Method اللي اسمها Select .. لأنه ببساطة مينفعش فعلين في نفس الوقت .. هو دا النظام إذا كان عاجبكم ... مينفعش حدثين مع بعض يا إما Select يا إما Goto طيب نجرب نستعمل Select ونشيل Goto اللي إحنا مش متعودين عليها كدا نجرب ، وإحنا واقفين في الشيت رقم واحد وننفذ السطر التالي Sheets(3).Range("A1:C10").Select شكلها صح ، لكن للأسف غلط ..لأننا دلوقتي بنتعامل مع ورقة عمل تانية ، بالتالي لازم عشان نعمل سطر زي ده ، وميكونش فيه رسالة خطأ ، لازم ولابد وحتما إننا ننشط ورقة العمل اللي هنشتغل عليها بـ Method اسمها Activate (نشط) Sheets(3).Activate Sheets(3).Range("A1:C10").Select كدا نتلاشى رسالة الخطأ ، والحمد لله ..خلاصة الكلام إننا لو استخدمنا Select أثناء التعامل مع ورقة عمل أخرى ، يبقا لازم ننشط ورقة العمل (نديها منشطات عشان متهنجش مننا .. ممكن نستعين بالأستاذ الغالي اللي غايب عننا رجب جاويش) وحتى النطاقات المسماة زي النطاق اللي سميناه من بدري باسم Officena لو أنا في ورقة عمل تانية ، مش هينفع أستخدم Select معاها بردو .. فالأفضل في التعامل مع أوراق العمل الأخرى استخدام Goto Application.Goto Range("Officena") @انتهى الجزء التالت@ وانتهت الحلقة .. مش عارف إذا كنت استوفيت الموضوع النهاردة بالتفصيل ولا لا .. بس عموما لو حد عنده إضافات بالنسبة لتحديد النطاقات يفيدنا بيها .. أنا قلت اللي عندي ، قولوا إنتو اللي عندكو (بارك الله فيكم على حسن المتابعة ، وإلى لقاء مع حلقة جديدة ومعلومات جديدة ..أستودعكم الله) الواجب : متروك لكم حرية عمل مصنف ، وتنوع فيه الطرق المختلفة للتحديد .. كان معكم على الهواء تحديداً في الكرسي الأخير من الصف الأخير في قاعة أوفيسنا .. قاعة أوفيسنا.الصف الأخير.الكرسي الأخير.تحديد(أبو البراء) دمتم في رعاية الله
    1 point
  40. الحلقة الثانية ونبدأ حلقة جديدة من حلقات مسلسل افتح الباب يا عبد التواب .. اتعلمنا المرة اللي فاتت إزاي ندخل على محرر الأكواد وإزاي نضيف كود واتعرفنا على نافذة المشروع .. دلوقتي جه الوقت اللي لازم تعرف فيه الهيكلة العامة للتعامل مع الأكواد .. يعني ايه ؟ هضرب مثال ليتضح المقال : أنا ساكن في عمارة كبيرة (العمارة زي تطبيق الإكسيل 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
  41. تفضل اخى المطلوب مع الشرح واعلمنى بالنتيجة Copy of Xl0000007.rar
    1 point
  42. أليك أخي ماطلبت جرب المرفق دالة concatenate.rar
    1 point
  43. أنا متفق معكم وفى إنتظار الشرح لكى اضع التساؤلات التى نفسى اعرفها
    1 point
  44. السلام عليكم اخي الكريم وانا اضم صوتي إليكم وجزاك الله كل خير على الفكرة وإن شاء الله مستمر معك لتهايتها وياحبذا ان تكون بنفس طريقة الأستاذ هادي الذي استخدمها في شرحه بهذا الرابط http://www.officena.net/ib/index.php?showt...%80%A0&st=0 وجزاك الله كل خير وجميع اإخوة والأساتذة الكرام
    1 point
  45. السلام عليكم انا كنت معتقد فعلا ان vba اداة فعالة وممتازة فى الاكسل ولاكن الاخ جوست والاخ احمد يعقوب فى بعض الاحيان اقوم بطلب منهم شىء على الفور يقومون بحلة عن طريق المعادلات جزاهم الله كل خير وانا اضم صوتى اليكم
    1 point
  46. أخي ياسر بالتوفيق و نحن معك ان شاء الله و لكن اخي اكمل الدورة لاخرها و لا تتقاعس او تتعب او تتثاقل بل احتسب عند الله ============ و للعلم ستكون انت المستفيد ان شاء الله لان افضل طريقة لفهم اي مادة هو شرحها. =========== آسف أخي لم انتبه لذلك مسبقاً أنا اتوقع ان افضل كتاب لعمل ذلك هو هذا الكتاب http://www.4shared.com/file/38877157/cdefa..._Reference.html و لكن يا ريت لو تاخذ رأي الأساتذة قبل أن تبدأ في الترجمة
    1 point
  47. 1 point
  48. ان شاء الله سنكون مع بعضنا ونبدا من الصفر لاني انا ايضا تحت الصفر في البرمجة تحياتي لك علي هذه الفكرة
    1 point
  49. واثناء ابحاري في ربوع ومنتديات الانترنت وخاصة فيما يتعلق بالاكسس منها وجدت مثال اعجبني على استخدام الماكرو في اكسس احببت ان افيد به احبتي في منتداي اوفيسينا Macros2000.zip
    1 point
×
×
  • اضف...

Important Information