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

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

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

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

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


    • نقاط

      43

    • Posts

      13165


  2. رمهان

    رمهان

    الخبراء


    • نقاط

      18

    • Posts

      2390


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

    • نقاط

      14

    • Posts

      2220


  4. سليم حاصبيا

    سليم حاصبيا

    أوفيسنا


    • نقاط

      13

    • Posts

      8723


Popular Content

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

  1. السلام عليكم ورحمة الله وبركاته إخواني وأحبابي في الله .. روابط الموضوعات للأسابيع الماضية : ************************* نتابع معكم للأسبوع الرابع موضوع البحث ، موضوعنا اليوم بإذن الله كيفية ترتيب الأسماء أو القيم في نطاق بحيث تكون القيمة الأطول (من ناحية عدد الأحرف أي السلسلة النصية) القيمة الأطول في البداية يليها الأقل منها وهكذا .. مثال للتطبيق عليه : ضع القيم التالية في النطاق A1:A10 Hi Yasser Mohammed Khaledy Salah Baraa Khalil KAL Huda Nader Said Monalizaa المطلوب أن تكون النتيجة بهذا الشكل: Baraa Khalil Nader Said Monalizaa Mohammed Khaledy Yasser Salah Huda KAL Hi لو قمنا بالاستعانة بعمود مساعد ووضعنا الدالة Len لعرفنا طول السلسلة النصية لكل اسم .. الحلول يمكن أن تكون بعمود مساعد أو بدون عمود مساعد ، لا أريد تقييد البحث بشيء محدد ..أطلقوا العنان للأفكار والإبداع وتقبلوا وافر احترامي
    4 points
  2. صباح الخير اخي ابو البراء توصلت الى احد الحلول (دون الفراغات) عسى ان ينال الاعجاب (ممكن الاستعانة بالدالة التالية في العامود C -بدل الموجودة) =IF(A2<>"",LEN(TRIM(A2))+ROW(A1)/1000,"") Sort_by_text_len.rar
    4 points
  3. بسم الله الرحمن الرحيم الحمد لله الذي أخرجنا بالإسلام من ظلمات الجهل والوهم إلى أنوار المعرفة والعلم ، ومن وحول الشهوات إلى جنات القربات ، والحمد لله الذي أنزل على عبده الكتاب ولم يجعل له عوجا ، وشرع الإسلام وجعل له منهجاً ، وأعز أركانه على من غالبه ، فجعله أمناً لمن تمسك به ، وسلماً لمن دخله ، وبرهاناً لمن تكلم به ، وشاهداً لمن خاصم عنه ، ونوراً لمن استضاء به ، وفهماً لمن عقل ، ولباً لمن تدبر ، وآيةً لمن توسم ، وتبصرةً لمن عزم ، وعبرة لمن اتعظ ، ونجاة لمن صدق ، وثقة لمن توكل ، وراحة لمن فوض ، وجنة لمن صبر . اما بعد اضع اليوم بين ايديكم احد البرامج التي تستخدم لفك حماية المصنفات من الخارج وشرحه بسيط كل ما عليك ان تحدد كلمة المرور اما حروف او ارقام او الاثنين معا او اضافة لهم علامات وطول كلمة المرور بمعني اذا كنت لاتعلم طول الكلمة فتضع مثلا تخمين من رقم الى 10 ارقام مثلا حسب ما تريد اما اذا كنت تعرف طول الكلمة مثلا 10 ارقام يبقي تكتب من 10 الى 10 لتختصر في وقت البحث وكلما كانت الكلمة سهلة كان الوصول لها اسهل وكلما كانت مركبة كلما تأخر الحصول عليها شرح الطريقة / يتم تنصيب البرنامج ويتم وضع الباتش بداخل مسار البرنامج ويتم فتح الباتش والضغط على كلمة باتش لجعل البرنامج كامل ملحوظة يرجى اغلاق برنامج الحماية اثناء نقل الباتش لانه يعتبره فيرس وبعدها قم بحذف الباتش عادي واعادة تشغيل الحماية انا عارف ان دا مخالف بس انا نزلت احد البرامج عشان الاخوة اللي بيعانو من فقد كلمات المرور يوجد برامج عدة من هذا النوع وانواع اخرى واذا جمعت بعض منها ويكون كامل سأضعه لكم باذن الله نجح مع ملفات xls شرح طريقة فك ملف اكسيل مرفق فيديو به الشرح تقبلو تحياتي ياسر العربي yasser1.rar Excel Password Unlocker v4.0.2.3 + PATCH [Win 32+64 Bits].rar
    3 points
  4. الاخوه فى هذا الصرح العلمى الكبير اعتذر عن قلة تواجدى فى الاونه الاخيره ولكن يعلم الله انى مشغول جدا هذه الايام اسالكم الدعاء لى بالتوفيق والسداد اليوم بأقدم لكم شرح مبسط عن النسخ والقص أو الترحيل بواسطة Destination وهى تعنى هدف الوصول أو مكان الوصول أو المكان المقصود هنعرف 1 - أزاى نعمل ده بدون اكواد من خلال التعامل مع الشيت مباشرة 2- أزاى نعمل ده بالاكواد نبدأ بسم الله عايزك تفتح شيت اكسيل وتكتب فى الخليه A1 مثلا اى شئ مثلا اكتب " اوفيسنا " المطلوب بعد ما تكتب فى الخليه A1 نقوم بنسخها الى اى خليه اخرى طبعا زى ما حضراتكم عارفين بيكون من خلال تحديد الخليه المطلوب نسخها وهى A1 تم نعمل Ctrl+C ونذهب الى المكان اللى احنا عايزين نقوم بعملية لصق الخليه بها وليكن الخلية D1 ثم نعمل Ctrl+V وفى طريقه تانية وهى الوقوف على الخليه A1 وكليك يمين بالماوس واختيار نسخ ثم تحديد الخليه D1 وكليك يمين ونعمل لصق لكن اليوم هنعمل عملية النسخ بطريقه Destination طيب ازاى ؟؟؟ حدد الخليه A1 ثم حرك الماوس الى اى ضلع من اضلاع الخليه ستجد فى سهم مثل هذا السهم دا صوره مكبره منه عندما يظهر هذا السهم على ضلع من اضلاع الخلية اضغط من الكيبورد على زر Ctrl ومع الاستمرار بالضغط على الزر اضغط على زر الماوس الايسر واسحب الماوس الى الخليه D1 مكان اللصق اللى احنا عايزينه طيب ده بالنسبه لعملية النسخ طيب عملية القص ؟؟ الطريقه الاولى تحديد الخليه المطلوب قصها وهى A1 تم نعمل Ctrl + X ونذهب الى المكان اللى احنا عايزين نقوم بعملية لصق الخليه بها وليكن الخلية D1 ثم نعمل Ctrl+V الطريقه التانية وهى الوقوف على الخليه A1 وكليك يمين بالماوس واختيار قص ثم تحديد الخليه D1 وكليك يمين ونعمل لصق الطريقه الثالثه اللى هى اساس موضوعنا هنعمل عملية القص بطريقه Destination طيب ازاى ؟؟؟ حدد الخليه A1 ثم حرك الماوس الى اى ضلع من اضلاع الخليه ستجد فى سهم عند ظهوره يمكنك الضغط على زر الماوس الايسر والسحب الى المكان المراد اللصق فيه الخلاصه الطريقه عملية النسخ عملية القص 1- من خلال الكيبور اضغط Ctrl+C ثم انتقل الى الخلية اضغط Ctrl+X ثم انتقل الى الخلية المراد النسخ بها واعمل Ctrl+V المراد اللصق بها واعمل Ctrl+V --------------------------------------------------------------------------------------------------------------------------------------------- 2- من خلال الماوس قم بتحديد الخلية وكليك يمين بالماوس قم بتحديد الخلية وكليك يمين بالماوس واختار نسخ ثم انتقل الى الخليه المراد واختار قص ثم انتقل الى الخليه المراد اللصق بها واعمل كليك يمين بالماوس اللصق بها واعمل كليك يمين بالماوس واختار لصق واختار لصق --------------------------------------------------------------------------------------------------------------------------------------------- 3-Destination حدد الخلية المطلوب نسخها واتجه بالماوس حدد الخلية المطلوب نسخها واتجه بالماوس ( المكان المقصود) الى اى ضلع من اضلاع الخليه هيظهر سهم الى اى ضلع من اضلاع الخليه هيظهر سهم اضغط من الكيبورد على زر Ctrl ومع الاستمرار اسحب الماوس الى المكان المطلوب اللصق به بالضغط اسحب الماوس الى المكان المطلوب اللصق به ----------------------------------------------------------------------------------------------------------------------------------------------------- طيب ازاى نعمل الطريقه رقم 3 Destination ( المكان المقصود) بالاكواد Sub Alsaqer1() Range("A1").Copy Destination:=Range("d1") End Sub طبعا السطر الاول والثالث معروف وهو الاعلان عن بداية الكود ونهايته السطر اللى فى المنتصف بقى هو اللى هنوضحه كتبت اسم الخلية A1 المطلوب نسخها من خلال الخاصيه Range كالتالى ("Range("A1 وبعدين كتبت . اللى هى الضغط على حرف ز بالعربى من الكيبور ثم Copy وتعنى نسخ وبعدين مسافه وكتبة Destination متبوعه =: ثم الخلية المراد اللصق بها ("Range("D1 طيب الكود هيكون ازاى لو عايز اعمل قص وليس نسخ بسيطه جدا نفس الكود مع استبدال Copy Sub Alsaqer2() Range("A1").Cut Destination:=Range("d1") End Sub طيب الكلام كله عن نسخ او قص خليه واحده ماذا لو كان المطلوب نسخ نطاق من الخلايا مثلا من A1:C5 الى الخلايا H1:J5 اولا من خلال شيت الاكسل حدد الخلايا من A1:C5 وحرك الماوس الى اى ضلع من اضلاع التحديد سيظهر امامك السهم عند ظهوره اضغط على زر Ctrl ومع الاستمرار بالضغط حرك الماوس الى الى الخلية H1 ستجد تم نسخ الخلايا طيب ولو عملية القص هيكون نفس الخطوات ولكن بدون الضغط على زر Ctrl يعنى عند ظهور السهم اسحب الماوس الى الخليه H1 طيب ومن خلال الكود لو نسخ شاهد الكود Sub Alsaqer3() Range("A1:C5").Copy Destination:=Range("h1") End Sub نفس الاكواد السابقه الفرق فقط هو بدل ("Range("A1 جعلتها ("Range("A1:C5 ولو قص الخلايا يبقى الكود كالتالى استبدل Copy بــ Cut Sub Alsaqer4() Range("A1:C5").Cut Destination:=Range("h1") End Sub ماذا لو كان المطلوب نسخ الخلايا الى شيت اخر شاهد الكود نفس السابق ولاحظ انت الفرق Sub Alsaqer5() Range("A1:C5").Cut Destination:=Sheet2.Range("h1") End Sub استبدلت ("Range("h1 بــ ("Sheet2.Range("h1 لو احنا عايزين ننسخ عمود A كله مثلا الى العمود F طبعا من خلال الشيت يبقى تحدد العمود كله واذهب الى اى ضلع من العمود هيظهر السهم اضغط على زر Ctrl ومع استمرار الضغط اسحب الماوس الى العمود المطلوب وهو F ولو قص يبقى نفس الخطوات بدون الضغط على زر Ctrl ولو عايزين نعمله بالكود شاهد الكود Sub Alsaqer6() Columns("a:a").Copy Destination:=Columns("f:f") End Sub ------ ماذا لو كان عندى نطاق متغير مثلا من جدول من العمود A الى C ولكن عدد صفوف الادخال غير محدد فى زياده او نقصان فى الحاله دى هعمل سطر لتحديد اخر صف به بيانات فى العمود A شاهد الكود Sub Alsaqer7() lr = Cells(Rows.Count, "A").End(xlUp).Row Range("A1:C" & lr).Copy Destination:=Range("h1") End Sub واخيرا الفائده من هذه الطريقه هى افضل بالاكواد نظرا لسرعه تنفيذ الكود وبساطه كتابته وفهمه كدا انا خصلت كل الامثله باقى انك بس تجرب بنفسك اسال الله تعالى لى ولكم التوفيق والسداد تقبلوا تحياتى
    3 points
  5. السلام عليكم ورحمة الله وبركاته أخي الحبيب ياسر العربي لا أدري أيفتح الباب أم يكسر....تكنولوجيا ...خطيرة... أرجو الله أن يكون بهذه البرامج الدقيقة النفع لأنها ستعيد لمن فقد كلمة المرور الأمل بعودة برنامجه سالماً غانماً أما من يريد تهكير البرامج فقد حصل على مبتغاه في الولوج لبرامج غيره بسهولة. جزاكم الله خيراً أخي الحبيب ياسر على هذه العبقرية الفذة بالبرمجيات ..تقبل تحيات أخيك المحب لك أبو يوسف.
    3 points
  6. كل الحق معك اخي الحبيب ياسر (غلطة مطبعية ليس الّا) زيادة في اثراء الموضوع هذا الملف Sort_by_text_len advanced.rar
    3 points
  7. السلام عليكم أهلا بك أخي المنار في هذا المنتدى ونتمنى لك طيب الإقامة بعد إذنك أخي الفلاحجي جرب هذا المرفق الخطوات كالآتي بعد أن تكون جميع الملفات مفتوحة 1) اكتب جميع الملفات التي عندك في العمود الأحمر وهذه الخطوة ستعملها مرة واحدة فقط 2) اختر الملف الذي تريد إحضار معلوماته 3) اضغط Import data ملاحظة : لمسح جميع البيانات في الشيت اضغط clear all من أين يتم جلب بيانات العمود الأصفر كما في الصورة ؟ تحياتي مجلد جديد ‫‬.rar
    3 points
  8. احبتي وبعد العذر على التاخر اعتقد ان تفعيل خيار الضغط عند الاغلاق الانسب وعليك بوضع امر في احد النماذج الغير منضمة لفتح القاعد بشكل صريح ثم اغلاقها ! او عليك استخدام نسخة الاسكيو ال سيرفر المصغرة express كخلفية وارح نفسك ! او اليس هناك شخص قريب من السيرفر ! فيمكنه يدويا بين فترة واخرى فتح القاعدة وعمل ضغط واصلاح يدويا ! قلت هذا الكلام مع علمي بالطرق البرمجية واسطرها ولكن اتيت من الاخر وحسب مالدي ! تحياتي
    3 points
  9. برافو عليك ! صحيح ! اذا" تظل مشكلة الحذف من الوسط ! تقبل تحياتي اتمنى ان لا نشغل وقتك ابا جنى في المشكلة حتى يعود السائل
    2 points
  10. اخي سعيد انا اريد ان نخرج بطريقة او بمعنى اصح افضل طريقة لعنوان الموضوع نريد ان نخرج بفائدة فتلاحظ المتابعة من اكثر من عضو ! ولا نريد الموضوع يتشعب لغير ماهو بالعنوان ! انا وانت نحمل امانة الآن فخلينا نناقشها وباختبارات تطبقها انت وتجارب تقيمها انت ! بعد اختبارها ! هذا ولاحرمنا الله واياكم الاجر والثواب
    2 points
  11. تفضل وهذا هو كود التأكد: 'check if this medicine is already in the prescription for this patient myCriteria = "[File_No] = '" & Forms!frm_Patient_Drugs!cmb_Patient_Name & "'" myCriteria = myCriteria & " And [Visit_Date] = #" & Forms!frm_Patient_Drugs!iDate & "#" myCriteria = myCriteria & " And [DoseID] = " & Me.ListDosing.Column(7) Is_It_Used = DCount("*", "tbl_Prescription", myCriteria) If Is_It_Used > 0 Then MsgBox "This medicine is already in the Prescription" Exit Sub End If جعفر 298.3.Medication.accdb.zip
    2 points
  12. عوداً حميداً أخي الحبيب الغالي ياسر فتحي ..المنتدى نور بطلعتك البهية
    2 points
  13. حبيبى الغالى أ / ياسر العربى
    2 points
  14. أخي الحبيب أبو يوسف نعم باستخدام خاصية ScreenUpdating قبل التنفيذ تلغي التحديث وبعدها يمكنك تفعيله .. وعلى فكرة حتى لو لم تضف سطر لإعادة التحديث لا يؤثر في شيء حيث تعود الأمور إلى طبيعتها بعد انتهاء عمل الكود أي يمكن فقط استخدام سطر واحد لالغاء التحديث ، ولكن من الباب الجمالي توضع في البداية والنهاية بالنسبة للنطاق الديناميكي الموضوع في غاية السهولة .. فقط اتبع نصيحتي وأنت تعرف كيفية عمل ذلك: النطاق المستخدم هو A1:B10 المطلوب : استبدال الرقم 10 ليصبح رقم آخر صف به بيانات في العمود الأول (اللي هو أساس الشغل بتاعنا في المثال) استخدم الجملة دي مكان رقم 10 Cells(Rows.Count, "A").End(xlUp).Row يبقى المطلوب تعمله تشيل رقم 10 وبس ..لا تمس التنصيص الموجود .. ولا تمس قوس الإغلاق وبعد علامة التنصيص وقبل قوس الإغلاق تضع مسافة بالمسطر ثم علامة & اللي بتيجي من خلال الضغط على Alt + 7 ثم مسافة ... ثم تضع الجملة السحرية اللي أشرت إليها وبس خلاص جرب الكود بإضافة بيانات جديدة للتأكد من فعالية الإضافة .. وبكدا تقدر تتعامل مع النطاق بشكل ديناميكي الأخ الحبيب رمهان اللي يعمل خير ميشورش .. هات ما عندك .. أثري الموضوع بإبداعاتك الأخ الغالي الجموعي بارك الله فيك وجزاك الله خيراً على مرورك العطر بالموضوع وعلى الحل المقدم .. سأطلع عليه ولو فيه أي تعليق هبلغك بيه ... أنا بعمل عملية تشريح لكل كود وكل حل يقدم خلي بالك .. تقبلوا جميعاً تحياتي
    2 points
  15. عن طريق المعادلة LEN وعملية الفرز من الأكبرإلى الأصغر sort by len character length.rar
    2 points
  16. هل يتم ذلك بإيقاف تحديث الشاشة ثم إعادة تحديثها بعد تنفيذ الكود ...يرجى الإفادة. وأما المدى الديناميكي ...أكيد بحاجة دراسة.
    2 points
  17. تحب تكمل ولا تعبت ...! لو تحب تكمل : باقي نقطتين الأولى إنك متخليش المستخدم يشوف العملية لأن أثناء تنفيذ الكود بيظهر الأرقام في العمود الثاني وبعدين بتتمسح .. النقطة التانية إن المدى يكون ديناميكي بحيث لو أضاف المستخدم بيانات جديدة في العمود يقدر الكود يحدث نفسه بشكل صحيح ويرتب القيم من جديد .. لو هتقدر تكمل قولي .. لو تعثرت في أي نقطة أنا معاك ...
    2 points
  18. أخي الحبيب أبو يوسف الحمد لله أن تم المطلوب على خير .. هكذا أصبح الكود ناااااااااجح بنسبة 100% .. الله ينور عليك .. أيوا كدا ابدأ اشتغل وخلي الماكنة تطلع قماش .. وإليك حل بأسلوب آخر لنفس الكود Sub SortByLEN() With Range("A1:B10") .Offset(, 1).FormulaR1C1 = "=LEN(RC[-1])" .Sort Key1:=Range("B1"), Order1:=xlDescending, Header:=xlNo .Offset(, 1).ClearContents End With End Sub تقبل تحياتي
    2 points
  19. السلام عليكم هنا المشكلة أي يتبدل مسار القاعدة الخلفية احيانا طبعاً بإعادة الارتباط فإذا وضعنا مسار محدد لن ينجح فكيف السبيل لاعلام الامر أن القاعدة المرتبطة الآن ؟؟؟! نعم اي ضغط مرة واحدباليوم وعند استدعاء الامر مرة ثانية او ثالثة او ....... يعطي رسالة بأنه تم الضغط هذا اليوم مع تقديري واحترامي للجميع وخاصة صاحب الموضوع أخ سعيد والاستاذ رمهان ..
    2 points
  20. Sub SortByLEN() With Range("B1:B10") .FormulaR1C1 = "=LEN(RC[-1])" Range("A1:B10").Sort Key1:=Range("B1:B10"), Order1:=xlDescending, Header:=xlNo .ClearContents End With End Sub السلام عليكم ورحمة الله وبركاته ..هذا ما توصلت إليه أخيراً ...وقد عمل بشكل صحيح والسلام عليكم أتعبتكم معي...سامحوني.
    2 points
  21. 2 points
  22. طيب يادوب بقي على رمضان العزومة ههههه. ربنا يستر وتوصل لحل المهم تحدد اختياراتك كويس عشان مضيعشي وقت ع الفاضي ياعم ياسر انا عارف نظام المصريين في كلمات المرور ههههههههههه لو بني ادم عادي يحط ارقام موبيل تبعه تبع البيت او اسمه او اسم حد معرفه لو حبيب يحط رقم حبيبته واول حرف منها ومنه ههههه لو واحد غلبان كدا او مش مهتم يبص للوحة المفاتيح ويجيب الارقام من فوق لتحت او العكس او من الشمال لليمين او العكس وايضا الحروف بنفس الطريقة اينعم في شوية كدا معقدين وبيأفلمو في كلمة المرور بس احنا هنا مش عشان اجيب كلمات سر ملفات مش بتاعتي فكدا المسافة قربت شوية وهي اني عارف نفسي وعارف باسورداتي بتتكون دائما من ايه على هذا الاساس هقدر احدد تقريبا طول الكلمة ومكوناتها كدا هنخدم فئة وشريحة كبيرة من الاعضاء اللي بينسو كلمة مرورهم اما الجزء اللي انا بعتبره صغير هيحتاج احترافية شوية وانا معايا شوية برامج مثل اللي بعت لك منهم نسخ لكن تحت التجربة وانت شفت بيفتح الملف من غير ما يخمن خالص مجرد تختار الملف يفتحه ليك بس مشكلته انه ديمو زي ما قلت نحاول نشوف نسخ كاملة منهم اقولك ايه اللي مخليني متأكد من انه المصريين كلهم باسورداتهم اقدر اخمنها بيني وبينك كدا منذ فترة كنت شغال (هكر) بعد الظهر وكنت بخمن الباسوردات والاسئلة السرية وغيرها وكانت بتجيب نتيجة جيدة تقبل تحياتي
    2 points
  23. أخي الحبيب ياسر العربي بارك الله فيك وجزاك الله خيراً .. الأخ العزيز أبو صهيب مشكور على سؤالك عني جزاك الله خيراً الموضوع جميل وشيق وممتع ومفيد .. ولكن للأسف عملياً لن يكون مجدي (مجدي دا اين عمي لزم ) بنسبة 100 % حيث أن كلمات السر بتكون في غالب الأحيان مكونة من أرقام وحروف .. ويا سلام بقا لو واحد رخم زي حالاتي بيخلي كلمة السر مكونة من حروف صغيرة وحروف كبيرة وأرقام ورموز !!!!!!!!!!! ويا سلا كمان لو واحد أرخم مني هيستخدم حروف عربي .. يعني دنيا تانية من الاحتمالات التي تفوق الخيال .. دا غير إن كلمات السر بتكون مش معروفة طولها ممكن 5 ممكن 10 ممكن 20 أو ممكن واخد رخم تاني وغاوي وناوي على حرق دمي هيخلي كلمة السر مكونة من 50 يبقا إن شاء الله ولا 10 سنين على ما تعرف كلمة السر .... أنا مش بهدم الموضوع عشان متقولش إني سلبي أنا بس بفكر بصوت عالي ، ولا أقولك حاجة أحسن من مفيش ... أهو البرنامج بردو هينفع مع كلمات السر البسيطة ومش هيقول لا جزاكم الله خيراً أخي المتميز ياسر العربي ... متشوف البرنامج اللي بيعطي نسخة demo ده ..يمكن يكون له فايده
    2 points
  24. وعليكم السلام أخي الغالي أبو يوسف بارك الله فيك على افكارك الجميلة ويمكن أن تكون نواة لكود حيث يتم وضع طول السلسلة في عمود ثم الفرز ثم إزالة قيم العمود المساعد .. جزاكم الله خير الجزاء تقبل وافر تقديري واحترامي
    2 points
  25. السلام عليكم ورحمة الله وبركاته جزاكم الله خيراً على تفعيل العمل والطلب من الأعضاء الكرام التفاعل الإيجابي بالموارد المتاحة قمت بدوري بالفرز التنازلي حسب عدد الأحرف باستخدام عمود مساعد يتعلق بعمل الدالة LEN كمساهمة بسيطة والسلام عليكم. فرز حسب الأحرف تنازلياً.rar
    2 points
  26. أولا : من الأفضل إدراج الدالة if (لحساب العمود opex category) في الكود import data ثانيا :ارفق ملف يحتوي على جميع الأعمدة في main file مع الأعمدة التي تضيفها وملف يحتوي على جميع الأعمدة في section A وفي حدود 100 تقريبا سطر كنموذج وملف يحتوي على جميع الأعمدة في section B وفي حدود 100 تقريبا سطر كنموذج ثالثا : عملية إزالة معلومات ملف سيتم معالجتها لاحقا إن شاء الله بعد تطبيق التعديلات في أولا وثانيا
    2 points
  27. أخى فى الله أستاذى الكريم // ياسر أبو البراء بارك الله فيكم وزادكم الله من فضله ومن علمه ونسأل رب العرش العظيم أن يعينكم على أشغالكم وسائر أموركم وفى انتظار تكملة الدرس الخاص بالموضوع لأنه بنظرى مهم جدا وإستخداماته متعدده وكنت أود إضافة إقتراح حسب ما يسمح به وقتكم أن تضعوا أمثلة مع تدريبات للتمرين عليها بحيث يكون للدرس صدى تفاعلى فأنت تعلم أخى الكريم // أن المنتدى ملىء بالشروحات ولكن أكثر ما يضايقنى خلال زياراتى القليلة بالفترة الماضية أن المشكلة مازالت قائمة أن هناك من يريد الحل فقط ولا يريد التعلم والإستفادة حتى يفيد نفسه أولا قبل غيره ، ولا يريد حتى البحث عن ما يريده داخل المنتدى رغم أن المنتدى هدفه التعليم أولا ثم المساعدة ثانيا وبالنهاية جزاكم الله خير الخير تقبل منى وافر الاحترام والتقدير
    2 points
  28. لحظة من فضلك أخي الحبيب سليم هل تعتقد أنني سأرى المشاركة دون تجربتها .. كل ما فعلته هو أنك أضفت الدالة Trim في بداية المعادلة فقط .. لما إذاً جعتلها معادلة صفيف ..؟؟!! المعادلة الأخيرة في المشاركة السابقة تعمل دون الضغط على Ctrl + Shift + Enter أي أنها ليس بمعادلة صفيف ..تأكد بنفسك وأعلمنا إذا كان كلامي غير صحيح
    2 points
  29. وهذه طريقة في تذييل النموذج الفرعي ضعي مربع نص وباسم n وبه المعادلة ويمكن اخفاؤه =-sum([تم]) وفي مربع الحضور وفي خاصية controlsource التعبير التالي =[sdad نموذج فرعي].[Form]![n] بالتوفيق
    2 points
  30. 2 points
  31. السلام عليكم ورحمة الله وبركاته كنت بصدد عمل برنامج " دليل هاتف " فصادفتني بعض المشاكل باستخدام القوائم فأردت عمل شئ من التغيير في استعمال القوائم حتى هداني الله الى فكرة بأستخدام الاكواد والحمد لله انجزتها ولكنها تبقى في بدايتها وامكانية تطويرها واردة واحببت ان اشارككم بها لعل اجد من ارائكم بعض الامور التي قد تفيد بهذا الشأن هنا ملف يحتوي على صفحة من البرنامج مع احتوائه على القائمة المذكورة اخوكم عماد الحسامي
    1 point
  32. السلام عليكم ورحمة الله وبركاته إخواني وأحبابي في الله مع التحديث الجديد .. للأسف لم أجد التوجيهات التي تم وضعها من قبل ، وهذه القواعد والأسس هامة جداً ليدرك الأعضاء كيفية التعامل مع المنتدى طبعاً الموضوع سيكون متجدد .. سيتم وضع القواعد مرة أخرى فالرجاء الرجاء أن تساعدوني في اتمام الأمر .. كل عضو يذكرني بتوجيه من هذه التوجيهات ليتم إرساء القواعد ، إذ أن نجاح أي مؤسسة يعتمد في المقام الأول على قواعد ومنهج ثابت للسير على دربه التوجيهات والقواعد التي يجب مراعاتها التوجيه الأول : قبل طرح موضوع جديد يتعلق بطلب محدد يرجى استخدام خاصية البحث أولاً ، فإذا لم يجد طارح الموضوع بغيته ، فعليه أن يقوم بطرح موضوع جديد ، وفي هذه الحالة على طارح الموضوع أن يعلم أن حسن السؤال شطر الإجابة ، فاللباقة واللياقة والكياسة من الصفات التي يجب أن يتحلى بها طالب العلم. التوجيه الثاني : عند طرح موضوع جديد ، يتم وضع عنوان مناسب للطلب بحيث يفهم الطلب قبل الإطلاع عليه ، وعلى طارح الموضوع أن يبتعد عن العناوين الغير مجدية مثل : ( طلب مساعدة - الرجاء المساعدة - ساعدوني من فضلكم - عاجل وهام - الحقوني - نداء للعباقرة - نداء للعمالقة - إلى آخر تلك العناوين ...) ، وأمر آخر ألا يكون العنوان على شكل سؤال أو طلب .. نبتعد عن كلمة "طلب" مثال تطبيقي : نفترض أنني أريد معادلة تجمع القيم في عمودين العنوان المناسب للطلب يكون بهذا الشكل : معادلة جمع القيم في عمودين والنتائج في عمود آخر التوجيه الثالث : أن يتم توضيح المطلوب بالموضوع بشكل يزال معه أي لبس ، وفي نفس الوقت يراعى الإجمال في الطلب ، فأقصر الخطوط هو الخط المستقيم ، بمعنى "لا إطالة مملة ولا اختصار مخل" ، أي لا يكون طرح الموضوع مختصر للغاية بل يجب أن يستوفي جميع العناصر المطلوبة ، ومن ضمنها أن يحدد طارح الموضوع هل الحل المطلوب بالمعادلات أم بالأكواد أم بكلاهما لتكون الأمور واضحة بالنسبة لمن يريد تقديم المساعدة ، وأن يقوم صاحب الموضوع بإرفاق ملف به بيانات وهمية لتوضيح طلبه وللوصول إلى حل سريع ودقيق ، وإذا صعب على طارح الموضوع شرح المطلوب يمكنه إرفاق بعض النتائج المتوقعة كي يسهل الوصول لحل. التوجيه الرابع : نلاحظ أن شكل المنتدى لا يعجب معظم الأعضاء ، فلما لا نغير بأيدينا الشكل العام للمشاركات ، فيفضل على سبيل المثال استخدام حجم خط كبير 22 على سبيل المثال وجعل الخط عريض Bold مما يجعل المشاركة واضحة ومقروءة بشكل جيد ، كما يمكن استخدام الألوان أي قم بتنسيق المشاركة بشكل جذاب يجعل القاريء لا ينفر منها. التوجيه الخامس : بعد الانتهاء من الموضوع والوصول لحل يرضي صاحب الموضوع ، يرجى أن يتم تحديد أفضل إجابة من خلال النقر على علامة الصح الموجودة بجانب كل مشاركة ، وأن يسجل صاحب الموضوع إعجابه من خلال النقر على "سجل اعجاب بهذا" كنوع من رد الجميل لمن قدم المساعدة ، ويمكن أيضاً أن يقوم بتقييم المشاركة تقييم إيجابي كنوع من التقدير ، وأن تشكر من قدم المساعدة فمن لم يشكر الناس لا يشكر الله. فيما يخص لو كان هناك أكثر من إجابة للموضوع ، يمكن لصاحب الموضوع عمل مشاركة جديدة يجمع فيها كل الحلول ويختار هذه المشاركة كأفضل إجابة التوجيه السادس : لا تكن لحوحاً ، يكفي أن أعضاء المنتدى يقدمون وقتهم و خبرتهم مقابل لا شيء وعندهم أعمال أخرى (مشاغلهم الخاصة) يقومون بها ، و إذا تأخر الرد ، فمن الممكن أن يكون أحد الأعضاء يقوم بمحاولة الإجابة ، وهذا يستغرق بعض الوقت خاصةً إذا كان الموضوع صعباً. التوجيه السابع : حمل الملف المرفق دون زركشات (ألوان و تنسيقات مختلفة) مما يزيد من حجم الملف و أحياناً تكون الألوان مقززة بشكل ينفر منها المساعد (خاصةً إذا كانت ألوان الخلايا غير متناسقة مع لون الخط) التوجيه الثامن : تأكد أن الملف المرفوع غير مصاب بفيروس و غير محمي بكلمة سر ، وإلا لن تجد المساعدة من قبل الأعضاء. التوجيه التاسع : متابعة صاحب الموضوع لموضوعه والتفاعل معه ، فلا يعقل أن يطرح أحدهم موضوع ولا يتابعه إلا بعد مرور وقت طويل ، فهذا يعد من اللامبالاة الغير مرغوب فيها ، والتي تنفر الجميع من العضو. التوجيه العاشر : عدم التسجيل في المنتدى بأكثر من حساب ، وأن يكون اسم الظهور باللغة العربية ومعبر عن الاسم الحقيقي أي (تعريب اسم العضو) ، فلا يجوز أن يكون اسم الظهور اسم واحد وفقط بل أن يكون ثنائي على الأقل أو أن يكون اسم ولقب ، ولذا يرجى عدم استخدام الأسماء المستعارة أو الأسماء باللغة الأجنبية ، فاللغة العربية هي هويتنا ولابد من الحافظ عليها. ** يتم تغيير اسم الظهور أو اسم المستخدم من خلال إعدادات الحساب ثم التبويب اسم المستخدم ، قم بتغيير الاسم ثم انقر كلمة حفظ التوجيه الحادي عشر : عدم طرح أكثر من موضوع لنفس الطلب من نفس العضو ، فهذا يعد مخالفة صريحة ، وليعلم العضو الذي يقوم بذلك أن تكرار الموضوع لن يجدي نفعاً في حالة عدم توضيحه للمطلوب. وفي حالة أن قام العضو بذلك عن طريق الخطأ يقوم العضو بالتنويه في الموضوع وطلب حذف الموضوع نظراً لتكراره. التوجيه الثاني عشر : على من يقدم المساعدة أن يكون مثالاً يحتذى به في العطاء والصبر والحلم وكرم الأخلاق وحسن الإجابة ، يجتذب بتلك الصفات عقول الآخرين وأفئدتهم التوجيه الثالث عشر : عند طرح موضوع يفضل أن يكون هناك طلب واحد فقط إذ أن الموضوع الذي تكثر فيه الطلبات ينفر الأعضاء الذين يريدون تقديم يد المساعدة ، وعلى رأي المثل (من يطارد عصفورين يفقدهما) فما بالك لو طاردت أكثر من طلبين أقصد أكثر من عصفورين ، يمكنك أن تتعامل بذكاء بأن تطرح الموضوع بطلب واحد حتى إذا تم على خير قم على الفور بطرح موضع جديد بطلب جديد وهكذا إلى أن يتم الأمر التوجيه الرابع عشر : يرجلا عدم إرسال رسائل خاصة للأعضاء لطلب المساعدة بشكل شخصي ، لأن هذا الأمر يضايق الكثير من الأعضاء ، وتأكد أن العضو إذا كان لديه معلومة أو يستطيع أن يفيد بشيء ووقته يسمح بذلك فلن يتأخر عنك ، يكفي أن تكتب كلمة "للرفع" في موضوعك ، ليشاهده أكبر عدد من الأعضاء. ** كيفية رفع الصور في المشاركات : ******************************* دمتم على طاعة الله
    1 point
  33. السلام عليكم ورحمة الله وبركاته إخواني الأحباب الأعزاء والمقربين من قلبي أقدم لكم اليوم موضوع مفيد إن شاء الله ، ألا وهو مقارنة عمودين وسيكون باستخدام التنسيق الشرطي ، لتلوين القيم المميزة أو القيم الفريدة في العمودين ، وكذلك لتلوين القيم المتشابهة في كلا العمودين أترككم مع الفيديو (ولا تنسونا من صالح دعائكم ..فبفضل الله ثم بفضل دعائكم نحيا في هذه الدنيا) كما لا تنسونا من اللايكات .. رابط الفيديو .. مرفق لكم ملف الشرح للتدريب عليه تقبلوا تحياتي ..أخوكم أبو البراء Compare Lists.rar
    1 point
  34. السلام عليكم نقل الكمية المباعة من شيت السجل الى شيت المباع ومجموع الداخل الى شيت الرصيد وكما موضح بالملف والنتائج البيع بالتقسيط.rar
    1 point
  35. حياك الله استاذ رمهان كلامك كله على العين والرأس ومنطقي و 100% ... وافكار ممتازة . وانا اتبع نصائح خبرائنا الكرام في هذا الصرح الشامخ ومنهم انت استاذ رمهان. ولم اسأل الا لثقتي فيكم ============== ردي على الأخ كرار لا يعني ابدا ان ردك وكلامك لم يعجبني لاسمح الله او اني لم اقتنع به . لو كان كذلك لقلت لك في حينه .. ونحن اخوان ويجمعنا اكثر من سؤال وجواب في الأكسس او غيره. ================= ولكن وجدت السؤال فأجبت .... وهو فتح مجال لأفكار جديدة بالتوفيق جميعا
    1 point
  36. فى طرق فى الحمايه ممكن تخلى الهكر يكره نفسه وميعرفش يفكه ومش معنى كلامى انها برضه حمايه كامله لان الكمال لله واحده واى حاجه من صنع الانسان ولها طريقه حل بس بالعقل السليم مثلا على سبيل المثال لاالحصر ممكن بعد ماتفنش برنامجك وقبل ما تعمل تنفيذى اجعل مع ملفك بعض الملفات اللتى ترتبط معه واجعلها تنزل بمكان ما فى الويندوز واذا تم تسطيب البرنامج وحد لعب فيه والاداه دى مش موجوده مكانها البرنامج يتم اغلاقه وممكن تعمل ملفات ريجسترى بنفس الطريقه لو ليك فى كتابة ملف ريجسترى هذا والله أعلى وأعلم بالتوفيق ابانا الغالى ابو يوسف
    1 point
  37. تحياتي أخي الحبيب المعادلات في ملفك هي في العمود S في الورقة 1 تحياتي تكرار salim.rar
    1 point
  38. وعليكم السلام الافتراض انك تريد ملاحظة واحدة فقط في النموذج Form1 ، تفضل 1. في الحدث "عند تحميل" النموذج Form1 ، نعمل الكود التالي ، والذي يجعل النموذج Form1 يفتح على يمين النموذج frm_Patient_Drugs : Private Sub Form_Load() r = Forms!frm_Patient_Drugs.Width + 0.6 * 576 D = 0 'Forms!frm_Patient_Drugs.Section(acDetail).Height + 1.2 * 576 '0.6 * 576 'w = Forms!frm_Patient_Drugs.Width 'H = Forms!frm_Patient_Drugs.WindowHeight - Forms!frm_Patient_Drugs.Section(acDetail).Height - 1.5 * 576 'docmd.MoveSize Right, Down, Width, Height DoCmd.MoveSize r, D ', w , H ' Me.Text0 = Forms.frm_Medication.ListDosing.Column(6) End Sub 2. النموذج Form1 يأخذ بياناته من حقل Comments من السجل الحالي للنموذج الفرعي sfrm_Patient_Drugs ، لذا نضيف الكود التالي على حدث "الحالي" ، وقبل ارسال المعلومة للنموذج Form1 ، الكود يتأكد ان النموذج Form1 مفتوح ، وإلا فإنه يفتحه: Private Sub Form_Current() If CurrentProject.AllForms("Form1").IsLoaded = False Then DoCmd.OpenForm "Form1" End If Forms!Form1!Text0 = Me.Comment End Sub 3. طيب ، واذا اضفنا دواء جديد ، فاننا نريد ان نرى الملاحظة في النموذج Form1 كذلك ، لذلك ، وعلى حدث Private Sub ListDosing_DblClick للنموذج frm_Medication ، نضيف الكود التالي: وقبل ارسال المعلومة للنموذج Form1 ، الكود يتأكد ان النموذج Form1 مفتوح ، وإلا فإنه يفتحه: 'now lets pass the comments to Form1 'if Form1 is not open, then open it If CurrentProject.AllForms("Form1").IsLoaded = False Then DoCmd.OpenForm "Form1" End If Forms!Form1!Text0 = Me.ListDosing.Column(6) جعفر 298.2.Medication.accdb.zip
    1 point
  39. كيف ما يريدها الاستاذ القدير ابو البراء ؟ هي فكرة خطرت في البال بعد قراءة الموضوع الرائع !
    1 point
  40. السلام عليكم أخي الحبيب أبو حمزة...ربنا يبارك لكم بحمزة ومن معه ...آمين درر سنية تتحفنا بها لتجعل يومنا عامراً بالتفاؤل ...جزاكم الله خيراً وأحسن إليكم...والسلام عليكم.
    1 point
  41. السلام عليكم ورحمة الله وبركاته إخواني وأحبابي في الله .. بصراحة أعجز عن البداية في هذا الموضوع نظراً لكثرة المعلومات في هذا الموضوع وتشعب الموضوع بشكل كبير ، ويرجع هذا التشعب إلى أهمية الموضوع لأن العمل بالمصفوفات يجعل الأكواد تكون أسرع بكثير من التعامل بالأكواد العادية خصوصاً مع البيانات الكثيرة .. الموضوع سيكون مستمر بإذن الله .. فأنا أؤمن بالحكمة التي تقول : قليل دائم خير من كثير منقطع .. سنبدأ في تناول الموضوع جزء جزء لكي نستطيع أن نهضم سوياً الموضوع ، ونستفيد من هذا الموضوع أقصى استفادة ممكنة نبطل رغي ونبدأ في المهم يعني ايه مصفوفة 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
  42. بارك الله فيك أخي الحبيب سليم على الحلول الرائعة والمميزة .. ننتظر حلول أخرى منك بالأكواد .. بس متنساش تعلن عن المتغيرات وإلا هاخدك مخالفة
    1 point
  43. أخي الحبيب أحمد الفلاحجي معاك أسبوع للبحث ... ولازم يكون الموضوع صعب لأنه المفروض للبحث .. واتفقنا إننا نطلع كل اللي عندنا من إبداع .. والنقل ميكونش حرفي وخلاص .. لازم تجرب بنفسك وتعدل على اللي لاقيته لو محتاج تعديل .. بارك الله فيك وجزيت خيراً على متابعتك الجيدة للموضوعات تقبل تحياتي
    1 point
  44. field =3 3 هو رقم العمود الذي يتم فيه البحث لو غيرته هايتغير العمود الذي يتم البحث فيه
    1 point
  45. طريقة تصوير الشاشة من الكمبيوتر بدون برنامج من لوحة المفاتيح طبعا كلنا بتظهر لنا مشكلة في برنامج او على الجهاز او نحتاج نعمل شروحات للبرامج او الدورات من جهازنا من اجل ذلك راح اعرفكم اسهل طريقة لتصوير الشاشة بدون برامج إليكم الخطوات : 1) نفتح البرنامج الإكسل او اي شئ نحتاج تصويره على الشاشة 2) من لوحة المفاتيح نضغط علي زر print scrn موجود في اعلى لوحة المفاتيح 3) نقوم بفتح برنامج الرسام من قائمة إبدأ إبدأ > البرامج > الملحقات > الرسام start > program > accessories > paint 4) بعد فتح البرنامج من قائمة edit نختار past 5) لقص جزء من الصورة نختار اداة التحديد الموجودة في الجانب ثم نقوم برسم مربع علي المكان المراد قصه ثم نضغط عليه كليك يمين و نختار cut ثم من قائمة file نختار new ثم من قائمة edit نختار past سنجد الجزء المقطوع ظهر على برنامج الرسام 6) بعد ذلك نحفظ الصورة من قائمة file > save as 7) نختار مكان حفظ الصورة علي جهازنا و اسم الصورة و صيغة الصورة الافضل اختيار png لانها اعلى جودة في الصور المحفوظة من هذا البرنامج ثم نقوم برفع الصور علي المنتدى من خلال مركز الرفع بكل سهولة تستخدم هذه الطريقة لعمل الشروحات او عرض المشاكل التي تواجهنا علي الكمبيوتر
    1 point
  46. السلام عليكم ورحمة الله وبركاته إخواني الأحباب أقدم لكم كود خفيف .. الكود يقوم بمنع المستخدم من طباعة أوراق محددة في المصنف .. في المرفق ثلاثة أوراق عمل Data1 - Data2 - Data3 الكود يوضع في حدث المصنف ThisWorkbook Private Sub Workbook_BeforePrint(Cancel As Boolean) Select Case ActiveSheet.Name Case "Data1", "Data2" Cancel = True MsgBox "The sheet " & ActiveSheet.Name & " cannot be printed!", vbInformation End Select End Sub يعتمد الكود على جملة Select Case الشرطية .. والقيمة التي تعتمد عليها اسم ورقة العمل النشطة فإذا كانت ورقة العمل النشطة Data1 أو Data2 .. يتم إلغاء عملية الطباعة وظهور رسالة تفيد أن ورقة العمل لا يمكن طباعتها ... يمكنك زيادة أوراق العمل من خلال السطر الذي يبدأ بكلمة Case على أن تكون أسماء أوراق العمل بين أقواس تنصيص .. كما يمكن منع الطباعة بالمصنف بالكامل بحذف أول سطرين من الكود وآخر سطر ، ليصبح بهذا الشكل Private Sub Workbook_BeforePrint(Cancel As Boolean) Cancel = True MsgBox "The sheet " & ActiveSheet.Name & " cannot be printed!", vbInformation End Sub بهذا يمكنك التحكم في طباعة أوراق العمل من عدم طباعتها أرجو أن يكون الموضوع مفيد ...رغم أنه ليس بجديد .. تقبلوا تحيات أخوكم أبو البراء Prevent Worksheets From Printing.rar
    1 point
  47. بعد اذن الاستاذ : الزباري نفس الفورم , .. باستخدام آخر وهو التحصيل ( اي بيانات تعتمد على التاريخ ) تاريخ اليوم سيتغير لونه الى الاحمر بضغط زر الصورة يسار جدول البيانات ويتم فصل بيانات تاريخ اليوم لتظهر في اليوزرفورم اليوزر فورم يمكن طباعته من خلال زر بصورة الطابعة اغلاق اليوزرفورم من خلال الصورة بجوار الطابعة اعتقد انه يتناسب مع طلب الصديق : عاطف عبد العليم بالتوفيق تذكير بموعد التحصيل.rar
    1 point
  48. مسابقة دينيةملحوظة : تعمل على صفحة نت فى عدم وجود النتاختار story على شكل صفحة النتتوجد اجابة فى كل صفحةفى نهائى المسابقة يوجد نتيجة للمسابقةكما فى الصورة الاخيرة على الرابط التالى http://yonis.arab.st/t73-topic#100
    1 point
×
×
  • اضف...

Important Information