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

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

  1. أبو آدم

    أبو آدم

    أوفيسنا


    • نقاط

      7

    • Posts

      3,292


  2. kha9009lid

    kha9009lid

    الخبراء


    • نقاط

      7

    • Posts

      1,347


  3. Gamal.Saad

    Gamal.Saad

    الخبراء


    • نقاط

      6

    • Posts

      211


  4. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      5

    • Posts

      9,871


Popular Content

Showing content with the highest reputation on 24 ماي, 2020 in all areas

  1. كل عام وانتم بخير تفضل اخي العزيز ارجو ان يكون طلبك Root100.rar
    3 points
  2. احسن الله اليك اخي الحبيب ما نحن الا طلاب علم نتداول ما علمنا الله ردك طيب و يثلج الصدر ... شكرا لك
    2 points
  3. 2 points
  4. اشكرك استاذى ومعلمى / @kha9009lid انا التمس لكل الاساتذة الف عذر لضيق الوقت عندهم ولا اسمح لنفسى ابدا ابدا ابدا ابدا ان اراجع او الوم لمن لم يرد على مشاركتى اللفته فقط فى انى اكثر من مرة اقول كل عام وانتم بخير ولم يرد رد واحد وكأنى مجهول والحقيقة لم اتعود على ذلك خصوصا من جميع الاستاتذة فى هذا المنتدى الكبير ولو رجعت الى مشاركة استاذنا ومعلمنا / محمد ابو عبد الله تجدنى وضعت اقتراح ولم يرد اي رد ولو حتى اسكت يا حلبى لن ينفع الان اقتراحك الان مثلا يعنى لك منى كل التحية والتقدير ولكل اساتذتى فى المنتدي وكل عام وانتم جميعا بالف خير وصحة
    2 points
  5. السلام عليكم اخي العزيز المرفق توقفت فيه عند الجداول فهي غير مفهومة و فيها اخطاء منهجية و الطلب غير واضح عموما نتمنى عليك ان يكون الطلب محددا بانشاء جدول مثلا او علاقة او نموذج اما انشاء نظام كامل فهو مرحلة متقدمة المساعدة فيها ليست متاحة بسهولة ارجو اعادة النظر بالطلب
    2 points
  6. برغم أن جميع الحلول السابقة ممتازة ومناسبة لكن أحببت المشاركة في اختصار الكود : أوك . ما رأيك بهذا السطر : Me.ID = GENRE & Format(Right(Nz(DMax("id", "TabTeachers", " Left([id],1) = " & GENRE & ""), 0) + 1, 3), "000") Auto serial with creteria.accdb
    2 points
  7. تفضل تم توحيد اسم الحقل المخصص لكود الموظف إلى emp_id بالجداول الثلاثة للتسهيل فقط. وبهذه الاحصاءات في تقريرك المطلوب لا تحتاج إلى مصدر بيانات للتقرير ولا استعلام ولا علاقات Dsum_Dcount_in rpt_creteria.accdb
    2 points
  8. هدية متواضعه الاصدار الاخير من برنامج تسجيل الديون ومتابعتها اهداء لكم مفتوح المصدر اوفيس 2013 تسجيل الديون ودفعها 2020.accdb
    1 point
  9. الاخوة الاساتذة الافاضل كل عام وحضراتكم بكل خير احببت مشاركتكم هذه المجموعة الجميلة من الازرار التى تستخدم بالفورم وهى تجميع من مشاركات الاساتذة بالمنتدى احترامى اخيكم New_Microsoft_Excel_Worksheet.xlsx المجموعة2 ازرار.xls
    1 point
  10. تقبل الله منا و منكم الطاعات
    1 point
  11. عيدكم مبارك اخوانى واساتذتى @kha9009lid @حلبي @ابوخليل @أبو عبدالله الحلوانى @ابو تراب وجميع اخوانى واساتذتى 💐 ومايكون خاطركم الا طيب 💐 اخوكم الصغير احمد
    1 point
  12. جزاك الله خيرا على المشاركه اخى محمد 💐 لكن هل قمت بتجربته هههههه جربته على عجاله ولم اتمعن فارجو السموحه حبيبى اخى محمد @حلبي وجزاك الله خيرا 💐 اتفضل اخى الرهوى المثال الاول بتعديل من كود اخى واستاذى جعفر جزاه الله خيرا المرفق الثانى بتعديل بالكود فالموضوع الثانى لاخى واستاذى فهد جزاه الله خيرا ان شاء الله يكون ما تريد بالتوفيق اخوانى Database1(1).rar Database1.rar
    1 point
  13. الاستاذ محمد ابو عبدالله كانت تلك اخر مشاركة له في الموقع اي ربما لم يشاهد مشاركتك اخي الحبيب وهذا رد الاستاذ حلواني وهو تقريبا يحقق طلبك في الموضوع الاخر 👆 الحقيقة وجود موضوعين ربما يسبب ارباك لنا جميعا اعتذر مقدما استاذي الفاضل حلبي ويشهد الله لم اقصد اي نقد لشخصك الكريم بل نحن وانا بالخصوص اتعلم منكم واستفيد من مداخلتك القيمة
    1 point
  14. سررت بردك جداً .🥰 شاكر مرورك المتواضع استاذي أبو آدم فما نحن إلا حسنة من حسنات علمك المبارك . نفع الله بعلمك وعملك .
    1 point
  15. استاذ / @الرهوي محاولة منى ومشاركة مع استاذى ومعلمى / @أحمد الفلاحجى تابع المرفق وبعد تحديث التاريخ Database1.accdb
    1 point
  16. تأنَّ ولا تعجَل بلَومِكَ صاحِبا لعلَّ له عُذراً وأنتَ تلومُ وما اجمل قول بشار ابن برد إذا كنتَ في كلِّ الأُمورِ مُعاتِباً صَديقَكَ لم تلقَ الَّذي لا تُعاتِبُه موضوع الوحدات موضوع شائك ولكل شخص اجتهاد البعض يعتمد على اضافة مربع تحرير وسرد يحتوي على خيار كرتون وعلبة وعند ادخال رقم الصنف يكون الخيار الافتراضي علبة والسعر بسعر العلبة فان كان البيع كرتون يختار من القائمة عباره كرتون فيتغير الصنف والسعر وفقا للاختيار ويمكن ان يكون الاختيار يدوي او عن طريق برمجة مفتاح في لوحة المفتايح وهذا يسهل العمل البعض ايضا يضع مربع اختيار اذا كان المربع غير مؤشر تكون الوحدة الاصغر وان تم التاشير يكون للوحدة الاكبر اغلب البرامج المستخدمة تستخدم الترصيد وفقا الوحدة الاصغر واخونا ابو خليل فصل في الموضوع جزاه الله كل خير وهناك الحل الذي اشار اليه الاستاذ شيفان جزاه الله كل خير وليس بعيدا عن حل ابا خليل وفي الموضوع الاخر مشاركة للاستاذ محمد ابو عبد الله ووضع مثال صغير جزاه الله خيرا وفي مشاركتي السابقة تحدثت عن طريقة الاستفادة من الباركود في تسهيل عملية البيع عن طريق الباركود مع اعتماد الوحدة الاصغر في جميع الحالات ولا اعتبر ان هذا الحل مثالي وانما اجتهاد ودائما هناك حل وحل افضل والمتلقي يختار ما يناسبه وهذه الطريقة تحت الاختبار في بيئة عمل حقيقي وقد اخبرني احد المستخدمين بحصول خطأ عند اضافة فاتورة مشتريات جديدة وبعد تتبع المشكلة وجدت ان الخطأ بسبب اني لم اجعل حقل عدد الوحدات في الكرتون حقل اجباري عند ترميز صنف جديد وسيتم اصلاح ذلك في النهاية المشاركات والردود تخضع لوجود وقت فراغ للعضو واحيانا نجد انه ليس لدينا ما نضيفه واجزم اخي محمد انك من الاعضاء الفاعلين الذين لا يمكن تجاهلهم هذا ان كان هناك تجاهل لاحد وهو امر لا اعتقده كل عام وانتم بخير وعيدكم مبارك 🌹
    1 point
  17. جرب هذه الفكرة ربما تفي الغرض وهي أن يتم عمل عمود لكل اسم تريد الترحيل المبلغ فيه ترحيل واستدعاء.xlsm
    1 point
  18. تقصد هذا : مثال للتعديل4.accdb
    1 point
  19. االسلام عليكم اليك هذا الملف لعله يفى بالغرض ترحيل واستدعاء.xlsm
    1 point
  20. غير في هذا السطر For i = 1 To Sheets.Count حييث 1 يمثل الورقة 1 مثلا For i = 2 To 5 اي من الورقة 2 الى الورقة 5 غير حسب ما تريد
    1 point
  21. جرب هذا الملف لنسخ اي خلية 1- حدد الخلية 2- Crtl+C 3- حدد الخلية الهدف 4- Ctrl+V Protect_with_copy.xlsm
    1 point
  22. لقد تم الامر للاستفادة فقط كل ما في الامر هو مسح معدلة وترك القيم Sheets("TOTAL").UsedRange.Value = Sheets("TOTAL").UsedRange.Value ترحيل تقرير .xlsm
    1 point
  23. السلام عليكم تم التعديل على قيم العمود A (بالمعادلات) من الورقة 111 (ورقة البيانات) والتعديل على كود "طباعة الكل" بما يفي الغرض المطلوب... برنامج شهادات نصف التيرم صف ثانى.xls
    1 point
  24. مشاركة مع الاخوة الاحبة ..... عسى أن يكون الكود قصيرا .... تفضل Aziz (2).rar
    1 point
  25. حياك الله اخي @فايز.. تغيير في حقل الجنس Private Sub GENRE_AfterUpdate() If Not IsNull(Me.GENRE) Then Dim lastID As Integer Dim lastCode As String lastID = Nz(DMax("Units_AutoID", "TabUnitsTeachers", "UNITS = '" & Me.GENRE.Value & "'"), 0) lastCode = Nz(DLookup("CODE", "TabUnitsTeachers", "UNITS = '" & Me.GENRE.Value & "' AND Units_AutoID=" & lastID), vbNullString) If lastCode = vbNullString Then lastCode = Switch(Me.GENRE.Value = "ÐßÑ", "01-000", Me.GENRE.Value = "ÃäËì", "02-000") End If Me.ID_TEACHER.Value = Left(lastCode, 3) & Format(Val(Right(lastCode, 3)) + 1, "000") Else Me.ID_TEACHER.Value = vbNullString End If End Sub وتغيير بعد الحفط Private Sub Form_AfterUpdate() If Not IsNull(Me.GENRE) And Not IsNull(Me.ID_TEACHER) Then DoCmd.RunSQL "INSERT INTO TabUnitsTeachers (UNITS, Code) VALUES ('" & Me.GENRE.Value & "','" & Me.ID_TEACHER.Value & "')" End If End Sub
    1 point
  26. رأس الصفحة Page Header يمكنك اخفاؤه برمجيا واظهاره في أي صفحة تريدها بكتابة الكود داخل التقرير من حدث تنسيق Format الكود التالي يخفي رأس الصفحة في جميع الصفحات : Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer) PageHeaderSection.Visible = False End Sub ولإظهار رأس الصفحة في الصفحة الأولى فقط دون الباقي : Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer) If Me.Page > 1 Then PageHeaderSection.Visible = false Else PageHeaderSection.Visible = true End If End Sub وممكن تختار رقم صفحة معينة
    1 point
  27. شيت اكسيل به معادلة لحساب الضريبة اعتبار من 1 / 7 / 2020 بعد القانون 26 لسنة 2020 حسبة الضريبة.xls
    1 point
  28. يمكن وضعه في التقرير من خلال اضافة حقل غير منضم وضع الكود في مصدر السجل لهذا الحقل ويمكن تحديد عدد خانات الترقم من خلال عدد خانات الرقم وعدد الاصفر =Format(Int(Rnd()*12345+1);"00000")
    1 point
  29. احسنت استاذ محمد كلامك صحيح مع بعض التوضيح الكود لم اضعه مباشرة في حقل رقم العقد وانما في حدث بعد التحديث لحقل اخر لكوني ارغب في حفظ رقم العقد في الجدول مباشرة لاستخدامات اخرى
    1 point
  30. الكود بيستخدم فى النموذج وممكن تستخدمه فى الاستعلام Me.id = المفتاح الاساسى عندك (المعرف) رقم العقد = اسم الخلية الجديده هيتم وضع الكود فيها سواء استعلام او نموذج
    1 point
  31. توليد رقم عشوائي صحيح وفق تنسيق محدد ومرتبط بحقل ترقيم تلقائي لعدم التكرار
    1 point
  32. طريقة اخرى [رقم العقد] = Format(Int(Rnd * 123456 + Me.id), "000000")
    1 point
  33. بالتأكيد أستاذ @jjafferr فكما انا استفدت الكثير منكم يسعدني ان اساهم ولو بالقليل لبقية الا عضاء الامر بغاية البساطة قمت بتحويل التاريخ في التقرير الى رقم ثم جمعته مع رقم واحد كل مرة يفتح بها التقرير وبهذا لن يتكرر الرقم أتمنى ان أكون وفقت بالشرح واي استفسار انا بالخدمة ولو اني اعرف ان لديك طريقة افضل لكن كل شخص حسب خبرتة
    1 point
  34. السلام عليكم ورحمة الله تعالى وبركاته اولا لم اجد استخدام الرموز الدولية الموحدة Unicode لا فى منتديات عربية ولا اجنبية ولا ادرى ان سبقنى اليها احد من قبل فى ستخدامها داخل الاكسس ولكنه توفيق من الله بالنسبة لى وسوف اشرح طريقة التوصل الى التعامل الصريح بـعلامة ( √ ) أو علامة ( x ) فى قواعد البيانات -------------- -------------- -------------- -------------- -------------- -------------- -------------- -------------- -------------- واخيـــــــــــــ( المرفق )ـــــــــــــــرا ( √ ) أو ( x )علامة.mdb
    1 point
  35. وعليكم السلام 🙂 تفضل: Dim strSQL As String Dim intHow_Many As Integer مشكلة اكثر من معيار ، هي الطريقة الصحيحة في كتابة الصيغة لذلك، خلينا نتعامل مع حقل واحد كل مرة، لنتفادى الخطأ strSQL = "[KararNom]='" & Me.KararNom & "'" 'نعمل اول معيار في المتغير strSQL strSQL = strSQL & " And [KararYear]='" & Me.KararYear & "'" 'نضيف معيار الحقل الثاني strSQL = strSQL & " And [CompID]=" & Me.CompId 'نضيف معيار الحقل الثالث الآن اصبح المتغير strSQL يحتوي على جميع المعايير، وبالصيغه الصحيحة، اذن فالنستعمله في الامر التالي كم عدد السجلات التي يوجد بها هذه المعايير intHow_Many = DCount("*", "TblKararat", strSQL) If intHow_Many > 0 Then اذا كان عدد السجلات اكثر من صفر، فمعناه ان اسم الموظف موجود مسبقا لذا، اوقف العملية واخبر المستخدم، ولا تحفظ السجل MsgBox "لقد تم تسجيل هذا الموظف مسبقا" Exit Sub End If جعفر
    1 point
  36. وعليكم السلام 🙂 تفضل: Private Sub Command24_Click() ' مفتاح اضافة موظف اخر لنفس القرار Dim strSQL As String Dim intHow_Many As Integer strSQL = "[KararNom]='" & Me.KararNom & "'" strSQL = strSQL & " And [KararYear]='" & Me.KararYear & "'" strSQL = strSQL & " And [CompID]=" & Me.CompId intHow_Many = DCount("*", "TblKararat", strSQL) If intHow_Many > 0 Then MsgBox "لقد تم تسجيل هذا الموظف مسبقا" Exit Sub End If DoCmd.RunCommand acCmdSaveRecord Dim x As Integer If MsgBox("تم اضافة وحفظ بيانات الموظف للقرار بنجاح. هل تريد اضافة موظف لنفس القرار؟", vbYesNo, "تنبيه") = vbYes Then Dim N, Y, F N = Me.KararNom: Y = Me.KararYear: F = Me.KararFrom DoCmd.GoToRecord , , acNext Me.KararNom = N: Me.KararYear = Y: Me.KararFrom = F Me.CompId.SetFocus Else DoCmd.RunCommand acCmdRecordsGoToNext Me.KararNom.SetFocus End If End Sub جعفر
    1 point
  37. والآن اجيب على اسئلتك: 1. هناك نوعين من Recordset ، نوع يخص DAO وآخر يخص ADO ، ومع تشابههما ، إلا ان هناك الكثير من الاوامر التي تختلف بينهم ، فإذا لم نخصص نوع الـ Recordset ، فالاكسس يستعمل مكتبة الاولى في القائمة ، مثلا ، في الصور التالية ، مكتبة ADO قبل مكتبة DAO ، فعند كتابة Recordset فقط ، فالاكسس يعتبرها تابعه لـ ADO: في الاكسس 2003 . وفي الاكسس 2010 فما فوق تم دمج مكتبة DAO في MS Office 14 Access Database engine object . 2. هذا امر OpenRecordset ، فيه عدة اختيارات ، والمبرمج اختار هذه لأسبابه ، ويمكنك الاستغناء عن الجزئين الاخيرين منها ، حيث هذا يكفي: (Set rst = db.OpenRecordset(strSQL . 3. المؤشر في سجلات Recordset يكون كما في القائمة التالية: BOF Record1 Record2 .. .. EOF حيث BOF = Begining Of File EOF = End Of File فإذا كنا على BOF او EOF فلا يوجد هناك سجلات ، فالسطر معناه ، اننا مادمنا لسنا قبل بداية ولا بعد نهاية الـ Recordset ، فقم بالخطوة التالية ، 4. انتقل الى اول سجل تصادفه (رجاء متابعة النقطة التالية) ، 5. اذا اردنا ان نجعل الـ Recordset بالكامل في ذاكرة الكمبيوتر ، فعلينا ان نأخذ المؤشر الى آخر سجل ، ثم عندما نأخذ المؤشر الى اول سجل ، فيعرف البرنامج عدد سجلات هذا الـ Recordset ، بينما في الرقم#4 اعلاه ، فنحن طلبنا منه البدء من اول سطر وبدون معرفة عدد السجلات ، والنقطتين معناها سطر جديد في الكود ، يعني: بدل كتابة For i = 1 To RC childrst.Delete childrst.MoveNext Next i يمكننا كتابة For i = 1 To RC: childrst.Delete : childrst.MoveNext : Next i . ولكننا اذا عملنا هذا الشيء لكل الكود ، فلن نعرف كيف نتصيد الخطأ ، ولا نستطيع استعمال Goto ، فنحن نستعمله في نطاق نعمل انه لن تكون لدينا اخطاء فيه جعفر
    1 point
  38. انظر الى الحقل في الجدول الآن ، ستجد ان المرفقات لاتزال موجودة ، ولكن الاكسس لا يستطيع فتحها!! تفضلي اختي : 1. لكي تحذفي مرفقات السجل الذي انتي عليه فقط ، 2. واذا كان السجل يحتوي على اكثر من مرفق ، واردتي حذف مرفق معين من هذا السجل ، فيمكنك استعمال هذا السطر ، جعفر
    1 point
  39. كود حذف المرفق.accdbبعد إذن أستاذنا الكبير @jjafferr هذا الكود لحذف المرفق فى السجل الحالى وفقكم الله Dim rst As DAO.Recordset Dim childrst As DAO.Recordset Dim db As DAO.Database Dim nn As String nn = "update table1 set [image].filedata =null WHERE Table1.ID =" & Me.ID strSQL = "SELECT * FROM Table1" Set db = CurrentDb Set rst = db.OpenRecordset(strSQL, dbOpenDynaset, dbSeeChanges) rst.MoveFirst db.Execute nn Me.Requery كود حذف المرفق.accdb
    1 point
  40. وعليكم السلام ضعي هذا الكود على زر: Dim strSQL As String Dim rst As DAO.Recordset Dim childrst As DAO.Recordset Dim db As DAO.Database Dim RC As Integer Dim i As Integer 'from https://stackoverflow.com/a/42239279 strSQL = "SELECT * FROM Table1 WHERE Not (Table1.image.FileData) Is Null;" Set db = CurrentDb Set rst = db.OpenRecordset(strSQL, dbOpenDynaset, dbSeeChanges) If Not rst.BOF And Not rst.EOF Then rst.MoveFirst End If Do Until rst.EOF Set childrst = rst.Fields("image").Value childrst.MoveLast: childrst.MoveFirst RC = childrst.RecordCount For i = 1 To RC 'Debug.Print rst!ID & " > " & childrst.Fields("FileName") 'If childrst.Fields("FileName") = "11.jpg" Then childrst.Delete 'End If childrst.MoveNext Next i rst.MoveNext Loop . جعفر
    1 point
  41. السادة الخبراء الاستاذ محمد صالح هذا الملف من اعمال الاستاذ محمد صالح المميزة ارسال اميل الى قائمة الاسماء فى الشيث ولكن بعد الارسال مافيش اى اميل وصل فما هى المشكلة وجزاكم الله كل خيراً mas_outlook_mailer2.rar
    1 point
  42. أخي الحبيب سليم الخطوات لمن يريد أن يطبقها كالتالي : '[ActiveX Control] على ورقة العمل من النوع [TextBox1] بفرض أن لديك مربع نص '[Linked Cell] لتكون هي [C2] قم بعمل كليك يمين على مربع النص ثم خصائص ثم حدد 'الذي يحتوي البيانات ثم ادخل على التنسيق الشرطي واستخدم [C4:F15] حدد النطاق '=IF($C$2="",FALSE,SUM(--ISNUMBER(SEARCH($C$2,$C4:$F4,1)))>0)
    1 point
  43. السلام عليكم أخي Sakro ما زلت مصراً على طلبي منك تعريب اسمك الكريم بدايةً ثم من ناحية حجم التقرير اتبع الخطوات التالية: افتح التقرير على طريقة عرض التصميم 1- من طرف التقرير الأيمن ضع مؤشر الماوس عندما يتحول إلى مقيض سحب ثم اسحب إلى الجانب التقرير الأيسر. 2- تقوم بتحديد كل العناصر الموجودة في رأس التقرير وتنزيلها إلى رأس الصفحة .أو بالسهم إلى أسفل لتستقر في رأس الصفحة. 3- تغلق الفراغ الذي تركه رأس التقرير بالماوس - مقبض السحب . 4 - انتقل بزر العرض إلى المعاينة قبل الطباعة وستجد إن شاء الله تعالى ما يرضيك والسلام عليكم..
    1 point
  44. السيد Sakro المحترم مرحباً بك في منتدى أوفيسنا ...السلام عليكم ورحمة الله وبركاته.. لا أجمل من اللغة العربية على ظهر البسيطة فيرجى العمل على تعريب اسمك الكريم ثم إنني حاولت تعديل تقريرك هذا ليظهر ضمن صفحات لا تتجاوز 10 لا تحتوي على فراغات بينها أوفيس 2007 وكل الصفحات التالية تماثل الصفحة الأولى ...ريثما تجد من يقوم بمساعدتك بشكل أدق والسلام عليكم test program.rar
    1 point
  45. السلام عليكم ريثما يقوم أحد الأخوة الخبراء الأكارم بمعاينة الملف أرجو أن يسعفك هذا الحل السريع وشكراً. test program.rar
    1 point
  46. السلام عليكم و رحمة الله و بركاته فى هذا المقال سنعرض لشرح دالة الاستبدال الغير مباشر فى الاكسيل يعني ايه ؟ يعني تفتح ملف الاكسيل تلاقي فيه قامتين منسدلتين ، احداهما تتأثر بالأخري يعني المعلومات التي تعرض فى الثانية تتأثر بما يتم اختياره فى الاولي مثلا لو اخترت من الاولي البلد مصر تجد المدن المصرية فى الثانية ،و لو اخترت الامارات تجد مدن الامارات و هكذا مر علي ملف وجدت به شيء مثل هذا الموصوف اعلاه ، و تفتح محرر الكود فلا تجد شيء و كان الملف به شيئ غير عادي و طبعا المعلومات فى جزئية ال ال Validation او التحقق من صحة البيانات و لو كان الملف محمي لن تظهر لك ، و لو كان مفتوح حتشوف فى قيمة ال data validation القائمة الثانية معادلة غريبة =INDIRECT(SUBSTITUTE(A11," ","_")) يطلع ايه بقي ده ؟ كثير من الاخوة لم يصادف هذا الموضوع من قبل ، و طبعا البعض يعرفه لذا نشرح الموضوع من الاول المشكلة : عندنا قائمة منسدلة بها معلومة اساسية ، مثلا اسماء القطاعات او المؤسسات و فى المثال سنسميها agency و قائمة أخرى بها أسماء الادارات و المطلوب هو أن تظهر فى قائمة الادارات فقط الادارات الخاصة بالمؤسسة التي يتم اختيارها فى القائمة الاولي اي يتم فلترة القائمة الثانية بناء على ما تم اختياره فى القائمة الاولى ب و اليوم سنشرح شرح مصور لكيفية عمل ذلك بدون كود خطوة خطوة و الشرح يبدأ من هنا أولا ندخل قائمتين للمعلومات الاولي بها قائمة المؤسسات و الثانية بها قائمة الادارات الخاصة بكل مؤسسة كما يلي ثم نختار قائمة المؤسسات (اللون البرتقالي) ثم formula define name و نسميها باسم ، و اول اسم خطر ببالي طبعا هو ..... officena ثم نذهب للخلية التي نريد ان تكون بها القائمة المنسدلة الخاصة بالمؤسسات الخلية الزرقاء A11 ثم Data Validation و نختار link =officena و لا تنسي علامة ال = بعد ذلك نختار قائمة البيانات الثانية باللون الااخضر ثم Formula defined names create from selection و نختار top فقط الخطوة الأخيرة نروح على الخلية الصفراء التي نهدف لوضع القائمة الثانية فيها أي الخلية A12 و نختار data validation link =INDIRECT(SUBSTITUTE(A11," ","_")) بس خلاص و عادة ما نفقوم بتغيير لون خط البيانات الاساسي و او اخفاء الاسطر التي بها البيانات ثم لانك فى الغالب تستخدم هذه النوعية من البيانات لتجميع المعلومات ، فستقوم بحماية ورقة العمل اولا نختار الخلايا المطلوب الا تكون محمية ثم من القائمة المختصرة Properties ثم نزيل خيار أن تشملها الحماية كما فى الصورة ثم نحمي ورقة العمل من قائمة review protect sheet و ذلك بالطبع بعد استثناء الخلايا التي تريد أن تسمح للمستخدم بتغييرها مثل القائمتان او اية بيانات اخري مطلوب منه ادخالها و المقصود بخطوات الحماية هو طبعا الوضيح و ليس حماية الملف كلمة السر www.officena.net و أخيرا ما يعيب عدم استخدام الكود هو ان الخلية الصفراء تبقي بها اخر قيمة مختارة بعد تحديث الخلية الزرقاء و قد لا تتناسب معها لذا اضفت رسالة للتذكير ضمن التحقق و الملف فى مكتبة الموقع قسم الاكسيل لتنزيل الملف http://www.officena....ds&showfile=113 موضوع الحوار http://www.officena....showtopic=38653 فى انتظار اضافاتكم و تحسيناتكم على الملف ============ مواضيع ذات صلة إنشاء قوائم منسدلة مرتبطة متعددة المستويات قائمة متعددة المستويات
    1 point
×
×
  • اضف...

Important Information