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

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

  1. ابو ياسين المشولي

    • نقاط

      10

    • Posts

      1,752


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

    سليم حاصبيا

    أوفيسنا


    • نقاط

      9

    • Posts

      8,723


  3. f16

    f16

    03 عضو مميز


    • نقاط

      3

    • Posts

      194


  4. dodo222

    dodo222

    03 عضو مميز


    • نقاط

      2

    • Posts

      312


Popular Content

Showing content with the highest reputation on 23 ينا, 2019 in all areas

  1. تم التعديل على الملف كما تريد تم ايضاً جماية المعادلات لعدم العبث بها عن طريق الخطأ ترتيب الطلاب _salim (2).xlsm
    2 points
  2. لك ما تريد ترتيب الطلاب _salim.xlsm
    2 points
  3. بالتأكيد هذا يسمى ابداع احسنت استاذى الكبير سليم عمل رائع بارك الله فيك وجعله فى ميزان حسناتك واكثر الله من امثالك وزادك الله من فضله
    1 point
  4. نوجد دالة مغرفة للعدد حتى رقم 1000 اليك الكود لهذا الامر Option Explicit Function Order_Salim(cel) Dim degree$, i%, My_num1%, My_num2% Dim aHad$, Asharat$ If Not IsNumeric(cel) Then Order_Salim = "N/A": Exit Function If cel = 100 Then Order_Salim = "المائة": Exit Function End If If cel > 100 Then Order_Salim = "too Big Number": Exit Function End If cel = Int(Abs(cel)) Dim deg1$, deg2$, deg3$, deg4$, deg5$, deg6$, deg7$, deg8$, deg9$, deg10$ deg1 = "الأوّل": deg2 = "الثّاني": deg3 = "الثّالث": deg4 = "الرّابع" deg5 = "الخامس": deg6 = "السّادس": deg7 = "السّابع": deg8 = "الثّامن": deg9 = "التّاسع": deg10 = "العاشر" Dim deg01$, deg02$, deg03$, deg04$, deg05$, deg06$, deg07$, deg08$, deg09$ deg01 = "عشر": deg02 = "والعشرون": deg03 = "والثّلاثون": deg04 = "والأربعون": deg05 = "والخمسون" deg06 = "والستون": deg07 = "والسّبعون": deg08 = "والثّمانون": deg09 = "والتّسعون" If cel < 11 Then Select Case cel Case Is = 1: degree = deg1 Case Is = 2: degree = deg2 Case Is = 3: degree = deg3 Case Is = 4: degree = deg4 Case Is = 5: degree = deg5 Case Is = 6: degree = deg6 Case Is = 7: degree = deg7 Case Is = 8: degree = deg8 Case Is = 9: degree = deg9 Case Is = 10: degree = deg10 End Select Order_Salim = degree: Exit Function Else My_num1 = Mid(cel, 2, 1) '=========================== Select Case My_num1 '======================= Case Is = 1: aHad = "الحادي" Case Is = 2: aHad = deg2 Case Is = 3: aHad = deg3 Case Is = 4: aHad = deg4 Case Is = 5: aHad = deg5 Case Is = 6: aHad = deg6 Case Is = 7: aHad = deg7 Case Is = 8: aHad = deg8 Case Is = 9: aHad = deg9 End Select '====================== My_num2 = Mid(cel, 1, 1) Select Case My_num2 Case Is = 1: Asharat = deg01 Case Is = 2: Asharat = deg02 Case Is = 3: Asharat = deg03 Case Is = 4: Asharat = deg04 Case Is = 5: Asharat = deg05 Case Is = 6: Asharat = deg06 Case Is = 7: Asharat = deg07 Case Is = 8: Asharat = deg08 Case Is = 9: Asharat = deg09 End Select If My_num1 = 0 Then Order_Salim = Right(aHad & " " & Asharat, Len(aHad & " " & Asharat) - 2) Else Order_Salim = aHad & " " & Asharat End If End If End Function '=========================================================== Function OrdeUP100(cel) If Not IsNumeric(cel) Or Int(cel) <> cel Or Int(cel) <= 0 Then OrdeUP100 = "ERROR": Exit Function End If If cel = 1000 Then OrdeUP100 = "الألف": Exit Function If cel > 1000 Then OrdeUP100 = "Too Large Integer": Exit Function Dim x, y Dim Mi3at, Free, Martab1 If cel <= 99 Then OrdeUP100 = Order_Salim(cel): Exit Function Select Case Left(cel, 1) Case Is = 1: Mi3at = "مئة" Case Is = 2: Mi3at = "مئتين" Case Is = 3: Mi3at = "ثلاثمائة" Case Is = 4: Mi3at = "أربعمئة" Case Is = 5: Mi3at = "خمسمئة" Case Is = 6: Mi3at = "ستمئة" Case Is = 7: Mi3at = "سبعمئة" Case Is = 8: Mi3at = "ثمانمئة" Case Is = 9: Mi3at = "تسعمئة" End Select If Mid(cel, 2, 1) = 0 Then Free = Right(cel, 1) Select Case Free Case 0: Martab1 = "" Case 1: Martab1 = " وواحد" Case 2: Martab1 = "وإثنين" Case 3: Martab1 = "وثلاثة" Case 4: Martab1 = "وأربعة" Case 5: Martab1 = "وخمسة" Case 6: Martab1 = "وستة" Case 7: Martab1 = "وسبعة" Case 8: Martab1 = "وثمانية" Case 9: Martab1 = "وتسعة" End Select OrdeUP100 = Mi3at & " " & Martab1: Exit Function End If OrdeUP100 = Mi3at & " و" & Order_Salim(Mid(cel, 2, 2) * 1) End Function استعمال الدالة ( العدد ) Function OrdeUP100 الملف مرفق order_up_to_100.xlsm
    1 point
  5. جرب هذا الماكرو Option Explicit Sub resume_facture() Dim my_arr2(1 To 2) my_arr2(1) = "مجموع مبلغ الشراء حسب التاريخ": my_arr2(2) = "التاريخ": Dim i%, k%, m%: m = 2 Dim s# Dim lr1%: lr1 = Achat.Cells(Rows.Count, 1).End(3).Row Dim lr2%: lr2 = Detail.Cells(Rows.Count, 1).End(3).Row Dim lr3%: lr3 = By_Date.Cells(Rows.Count, 1).End(3).Row Dim laste_D% Dim laste_B% Detail.Range("A1:D" & lr2).ClearContents By_Date.Range("a1:b" & lr3).ClearContents Dim Fter_Rg As Range Set Fter_Rg = Achat.Range("a1:d" & lr1) Dim Col As Object Set Col = CreateObject("system.collections.arraylist") With Col For i = 2 To lr1 If Not .contains(Achat.Range("b" & i).Value) Then _ .Add Achat.Range("b" & i).Value Next End With For i = 0 To Col.Count - 1 '----------------------------- laste_D = Detail.Cells(Rows.Count, 1).End(3).Row If laste_D% <> 1 Then laste_D% = laste_D% + 2 '========================= Fter_Rg.AutoFilter 2, Col.Item(i) Fter_Rg.SpecialCells(12).Copy _ Detail.Range("a" & laste_D%) Next Fter_Rg.AutoFilter Col.Clear '========================= By_Date.Cells(1, 1).Resize(, 2) = my_arr2 For i = 2 To lr1 If Not Col.contains(Achat.Range("d" & i).Value) Then _ Col.Add Achat.Range("d" & i).Value Next '========================= For i = 0 To Col.Count - 1 For k = 2 To Fter_Rg.Rows.Count If Achat.Range("D" & k) = Col.Item(i) Then By_Date.Range("b" & i + 2) = Col.Item(i) s = s + Achat.Range("C" & k) End If Next By_Date.Range("A" & i + 2) = s s = 0 Next '=================== End Sub الملف مرفق _salimجدول الشراء.xlsm
    1 point
  6. اخ محمد انا بصراحة مش عارف اشكرك على صبرك وطول بالك الا انك مبدددددددع بمعنى الكلمة ربنا يوفقك لانه انا ما شفت مثلك بالشرح وبالاجابات تسلم
    1 point
  7. شوف المرفق اللي رفعنه لك عند عمل تصميم للتقرير في شي اسمه تقصيل في حدث عند الطباعه هناك وضعت الكود
    1 point
  8. ا/ محمد اشكرك على ردك الكريم جربت طريقتك وقد نجحت ولاكن ليس هذا الشكل الذي اريده للتقرير الذي ابحث عنه ان اريد تقرير دون ان يكون هناك فاصل بين الحقول ا/ ابو ياسين اعذرني على جهلي ولاكني لم ارى مكان هذا الكود ولا ادري اين اضعه بضبظ بحثت في كل الاحداث فلم اجده ثانيا اتمنى ان تجد من وقتك لشرح هذا الكود لو امكنك ذلك مع شكري لك
    1 point
  9. نعم اخي هذا المطلوب النتائج مطابقة للعملية الحسابيى شكراً على المجهود
    1 point
  10. 1 point
  11. شكرا لك استاذ ابو ياسين ساجرب الكود على الجداول اللي موجوده عندي واخبرك بالنتائج ان شاء الله
    1 point
  12. سمعدلة الاخ الاستاد سليم لم افهمها جيدا
    1 point
  13. بعد اذن استاذنا ومعلمنا الكبير سليم حاصبيا لان معادلاته قمة في الروعة وما انا الا تلميذ مبتديء في مدرسة الاستاذ سليم والاساتذة في المنتدى الراقي جدا استخدمت معادلة بسيطة لكن ما تصبو اليه ( ربما تكررت العلامة عند طالبين او اكثر) تداركها الاستاذ الفاضل سليم بالمعادلة الرائعة جزاه الله خيرا اسحب معادلة الاستاذ سليم للاسفل سيظهر جميع اصحاب الدرجات العالية الاكبر او الاصغر لكم وافر احترامي example_salim+.xlsx
    1 point
  14. بارك الله بك اخ مصطفى لكن ربما تكررت العلامة غند طالبين او اكثر لذلك يجب ادراج كل الاسماء اصحاب العلامة الاكبر او الاصغر
    1 point
  15. اتفضل اتمنى يكون المطلوب دعوة بظهر الغيب تكفي الكهرباء.rar
    1 point
  16. وعليكم السلام اليك الملف example1+.xlsx اعتذر استاذنا الكبير سليم لم ارى مشاركتك لكم تحياتي
    1 point
  17. ممكن ان يتساوى اكبر أو أصغر معدل (بين طالبين أو أكثر) لذلك كان هذا التصحيح في الملف example_salim.xlsx
    1 point
  18. 1 point
  19. طلبك تم الرد عليه هناء
    1 point
  20. خالد سيسكو من الاحترام والاصول الرد على من يرد بطلبك لا نريد منك شي بس من الاحترام انه كما طلبت من هذا الموقع المساعده فيتوجب عليك الرد سوى كان الاجاب صحيحه ام خاطئه
    1 point
  21. وهذا مثال للشرط الثاني If Not IsNull(Me.ChooseTble) = True Then If Me.ChooseTble = "tb1" Then Me.Box.RowSource = "Table/Query" Me.Box.RowSource = "SELECT tb1.[ÇÓã ÇáãæÙÞ], tb1.[ÇáÚäæÇä ÇáæÙíÝí]" & _ "FROM tb1;" Box.Requery End If End If final.rar
    1 point
  22. احسنت استاذ سليم بارك الله فيك
    1 point
  23. لك ما تريد Salimتنسيق شرطى.xlsx
    1 point
  24. صديقي العزيز لكل مادة معلم ولكل معلم مجموعة طلاب اما القاعات فامرها كما اعتقد ثانوي اذن يكون معرف المادة ..... لمعرف المعلم معرف المعلم ......... لمعرف الطالب والعلاقتان راس باطراف هذا والله اعلم ... اتمنى لك التوفيق
    1 point
  25. تفضل تم عمل المجاميع بشرط الحد الادنى للدرجة استعلام2.mdb
    1 point
  26. بص كده // ممكن // جربها وان شاء الله هتنفع انت ممكن تعمل تحديد لجميع مربعات النص المنضمه فى التقرير ـ وتعملهم كلهم قابل للنمو ـ وتعملهم جدولي وتقريبا تم ذكر الاجابة لكن مش بالتفصيل ــ /// لكن تقريبا اهم حاجه يكون فى خلية واحده او اكثر مربع النص الخاص بها عباره عن نص طويل ـ أو فى الاصدارات القديمة ان يكون نوع الحقل مذكرة
    1 point
  27. 1 point
  28. الكود واضح اخي هي داله موجوده في المدويل ثم يتم استعها في حدث عند الطباعه Call DrawBoxes(Me, acDetail)
    1 point
  29. الشكر لكم جميعاً على ردكم على سؤالي انا وجدت مثال يعمل بشكل رائع ولاكني لم افهم طريقة عملة سأضعة على الموقع واتمنى ان تشرحو لنا كيفية عمل هذا الكود هذا المثال وجدته في موقع اخر للاخت زهرة ولكم جزيل الشكر مثال على توسعة الحقول في التقرير.rar
    1 point
  30. الشكر لكم جميعاً على ردكم على سؤالي انا وجدت مثال يعمل بشكل رائع ولاكني لم افهم طريقة عملة سأضعة على الموقع واتمنى ان تشرحو لنا كيفية عمل هذا الكود هذا المثال وجدته في موقع اخر للاخت زهرة ولكم جزيل الشكر مثال على توسعة الحقول في التقرير.rar
    1 point
  31. هذا عمل الاستاذ الخالدي لعله يفيدك... اذكره واذكرني بدعوة الغيابات برنامج.xls
    1 point
  32. السلام عليكم و رحمة الله و بركاته حبيت اشارك طريقة حفظ نسخة احتياطية للقاعدة بيانات حسب نموذج اعدادات وتم اضافة زر اسفل زر حفظ في شاشة إعدادات للحفظ النسخة مع ضغط و إصلاحها بالتوفيق،،،،، Main2.rar
    1 point
  33. شكرا لك اخى nasersaeed اخى أبوعبدالله يسعدنى ذلك وخصوصا انه موضوع هام جدا لمن اراد اجادة التعامل مع الاكسيل Offset استخدام دالة ( Offset ) لتصنع مدى او نطاق ديناميكى هي دالة حيوية لها كثير من الاستخدامات دالة (Offset) من الدوال الهامة جدا التى تتعامل مع مراجع الخلية وهى من الدوال التى تزيد امكانيات الدوال الاخرى التى تقترن بها ودالة (Offset) تعيد قيمة من اي خلية يشار اليها بعدد من الصفوف والاعمدة التى تبتعد عنها . وصيغة الدالة هى : =OFFSET(reference,rows,cols,height,width) - العامل الاول : الخلية المرجع او الخلية الاساس او الام 2 - العامل الثانى : عدد الصفوف 3 - العامل الثالث : عدد الاعمدة 4 - العامل الرابع : الارتفاع محدد بعدد من الصفوف 5- العامل الخامس : العرض محدد بعدد من الاعمدة وقد تم استخدام دالة () فى المثال الذى اشرت اليه اخى لعمل مدى متحرك او ديناميكى ولنعمل معا مثال بسيط : نحن نريد إنشاء مدى لجدوال من البيانات يحتوى على 10 صف و 5 أعمدة الوضع العادى لهذا الاجراء هو ان نقوم بتعليم هذا المدى بدأ من الخلية (A1) الى الخلية (E10) من قائمة (ادراج / اسم / تعريف) ونكتب اسم هذا المدى وليكن ( Rng) سنجد ان الصيغة الموجود اثناء انشاء الجدول فى الصندوق الحوارى (تعريف اسم) والتى تشير الى احداثيات المدى ( Rng) هى : A1:E10 وهى عبارة عن 10 صف و 5 أعمدة وتظل هكذا دائما هذا المدى دائما ثابت كما نعرف سواء احتوى الجدوال على بيانات او لم يحتوى على بيانات هنا تأتى فائدة انشاء المدى الديناميكى الذى تزاد عدد صفوفة او تنكمش تبعا لأحتواء المدى على بيانات وخاصة فى العمود الاول او حسب اى عمود تريدة ليكون هو الحاكم بأمر المدى حسب احتوائة على بيانات . سنقوم معا بإنشاء نفس المدى ولكن بأسم ( MyRange ) وبنفس الابعاد التى اشرنا اليها وهى عبارة عن 10 صف و 5 أعمدة . ولكن هذه المرة سيكون كمدى دينامكى يتمدد وينكمش حسب احتواء العمود الاول (A) على بيانات اى اذا كانت الخلايا من (1A) الى (3A) بها بيانات كان المدى عبارة عن 3 صف و 5 أعمدة . اما اذا كانت الخلايا من (1A) الى (7A) بها بيانات كان المدى عبارة عن 7 صف و 5 أعمدة . شئ جميل جدا طبعا لمن يتعامل مع الاكواد وخاصتا من يعمل مع اسماء النطاقات بدل من الاشارة الى المدى بالخلايا المرجعية له 0 اخى قم فتح ملف جديد فارغ لنعمل هذا المثال : قم بتسمية الورقة الاولى Test1 فى الورقة الاولى قم بتحدد المدى (A1:E10) وقم بتلوين خلاياه باللون الاخضر الفاتح ليكون فقط واضح لنا . قف فى اى خلية واضغط مفتاحى (كنترول + اف3) لفتح صندوق الحوار (تعريف اسم) فى خانة (الاسماء فى المصنف) اكتب اسم المدى او النطاق فى هذا المثال وليكن (MyRange) وفى خانة (يشير الى) اكتب الصيغة التالية : سنقوم بشرحا بعد إنشاء المدى والتعرف عليه =OFFSET(Test1!$A$1;0;0;COUNTA(Test1!$A$1:$A$10);5) ثم اضغط موافق وقم بحفظ الملف املئ الخلايا الخضراء بأى بيانات اضغط مفتاح (اذهب الى) اى مفتاح (اف5) و اكتب (MyRange) طبعا بدون الاقواس سنجد ان المنطقة الخضراء تم تعليمها بالكامل (A1:E10) الان قم بمسح بيانات الصف العاشر والتاسع اضغط مفتاح مفتاح (اف5) و اكتب (MyRange) سنجد هنا ان المنطقة المعلمة عبارة عن ثمانية صفوف من الجدول والان امسح محتويات الخلية (8A) اضغط مفتاح مفتاح (اف5) و اكتب (MyRange) سنجد هنا ان المنطقة المعلمة عبارة عن سبعة صفوف من الجدول لماذا اخى سنفهم ذلك من شرج صيغة المدى : =OFFSET(Test1!$A$1;0;0;COUNTA(Test1!$A$1:$A$10);5) لاحظ ان Test1! هذا هو اسم اورقة الاولى ملحق به علامة التعجب ليشر الى اسم الورقة (هذه طريقة الاشارة الى اسماء الاوراق فى صيغ المعادلات) 1 - العامل الاول : Test1!$A$1 وهو يشير الى الخلية (1A) فى الورقة ( Test1 ) اى الخلية الاساسية او نقطة بداية المدى او خلية الارتكاز او الخلية الام 2 - العامل الثانى : صفر 3 - العامل الثالث : صفر العامل الثانى والثالث صفر لأننا لن نبتعد عن الخلية الام بأى عدد من الخلايا لا رأسيا او افقيا 4 - العامل الرابع : COUNTA(Test1!$A$1:$A$10) هذا العامل هو قلب المدى المتحرك او الديناميكى او المفصلى فهو يقوم بعد الخلايا فى العمود الاول من (A1) الى (A10) . فعندما قمنا بمسح بيانات الصف الصف العاشر والتاسع كان ناتج هذا العامل هو 8 أى 8 صفوف وهو العامل الديناميكى فى الصيغة . وايضا عندما قمنا بمسح محتويات الخلية (A8) كان ناتج هذا العامل هو 7 أى 7 صفوف وهنا بيت القصيد . لان ارتفاع الجدول او المدى (MyRange) يتحدد حسب احتواء المدى (A1: A10) على بيانات . 5- العامل الخامس : 5 وهنا نقوم بتحديد عرض الجدول او المدى (MyRange) بعدد من الاعمدة وهو 5 أعمدة وهو ثابت دائما . ولكن يمكن جعله ديناميكى ايضا لو اردنا ذلك بنفس الطريقة المتبعة فى العامل الرابع ليكون جدول متحرك او ديناميكى كامل الاحساس بالنسبة لعدد صفوف واعمدة الجدول ولكن فى مثالنا هذا هو يتحسس فقط عدد الصفوف بالتحكم فى العامل الرابع ولو اردنا ان يكون كامل الاحساس يجب ان يكون العامل الخامس مفصلى ايضا كالرابع مع تغير عناوين الخلايا الى العناوين المناظرة . لعلى وعسى ان اكون قد وفقت فى شرح المدى الديناميكى وقد تعمدت الاسهاب فى الشرح بطريقة مبسطة لما له من اهمية فى عالم الاكواد وتسهيل العمل المراد انجازة بطريقة فعالة وحية تجاة التغيرات فى حجم المدى المحتوى على بيانات . مع تحيات ابوتامر
    1 point
×
×
  • اضف...

Important Information