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

رجب جاويش

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

    3492
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    41

كل منشورات العضو رجب جاويش

  1. لا شكر على واجب أخى الفاضل هذا واجبنا تجاه هذا المنتدى العظيم
  2. وهذا كود آخر Sub ragab() Dim cl As Range Application.ScreenUpdating = False For Each cl In [d2:n23] If cl.Locked = False Then cl.ClearContents Next cl Application.ScreenUpdating = True End Sub حذف البيانات1.rar
  3. تفضل أخى Sub ragab() On Error Resume Next ActiveSheet.Range("D2:N23").Value = vbNullString End Sub حذف البيانات.rar
  4. أخى الحبيب / فضل كما اتفقنا من قبل أن دالة Filter فى هذا المثال ينتج عنها Array ( حده الأدنى صفر ) ويتكون من عنصرين كالآتى b(0) = "Sunday" b(1) = "Saturday" ويكون الحد الأدنى صفر والحد الأعلى 1 وكما اتفقنا أيضا أن دالة UBound تعطى الحد الأعلى للمصفوفة الناتجة لذا يكون الناتج 1
  5. أخى الحبيب / فضل اليك مقطع فيديو صغير يزيل الشك الخاص بدالة Filter تماما ويؤكد لك أنها بعيدة عن دالة countif تماما وأنها ينتج عنها صفيف Array حده الأدنى صفر ويتكون من جميع القيم الناتجة عن عملية الفلترة test5.rar
  6. أخى الحبيب / فضل هذا مزيد من الشرح عن دالة Filter نفرض أن لدينا الكود الآتى Sub ragab() a = Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday") b = Filter(a, "S") End Sub نلاحظ أن ناتج الفلترة فى المثال السابق يكون صفيف Array الحد الأدنى له صفر ويتكون من جميع القيم التى تحتوى على حرف S فى الصفيف a وهى حساسة لحالة الأحرف ( كبيرة أو صغيرة ) وهى كالآتى b(0) = "Sunday" b(1) = "Saturday" فاذا غيرنا معيار التصفية الى " sunday" مثلا يكون ناتج التصفية صفيف Array يتكون من حد واحد فقط ( رتبته صفر ) وهو كالاتى b(0) = "Sunday" وهكذا أرجو أن تكون دالة Filter قد اتضحت كيفية عملها بشكل بسيط أخوك / رجب جاويش
  7. أخى الحبيب / فضل كما قلت أنت فان دالة UBound تقوم باحضار اخر رقم فى المصفوفة ( الحد الأعلى للمصفوفة ) وبالتالى تكون هذه الدالة هى المسئولة عن اخراج الرقم -1 ( والذى يعنى عدم وجود بيانات تصفية ) أو صفر ( والذى يعنى وجود بيان تصفية واحد ) هذه الأرقام طبعا قبل الجمع مع الواحد الموجود فى نهاية الجملة
  8. أخى الحبيب / فضل هذا مقطع فيديو صغير يوضح فكرة الدالة Filter test2.rar
  9. أخى الحبيب / فضل هذا مقطع فيديو صغير يؤكد لك النقطة الخاصة بدالة UBound test1.rar
  10. أخى الحبيب / فضل اذا كان ناتج التصفية فارغ يكون ناتج الدالة UBound هو -1 ثم بعد اضافة رقم 1 تكون قيمة x تساوى صفر أما دالة filter تقوم بعمل تصفية للبيانات حسب معيار معين أما دالة ubound تحضر اخر رقم فى المصفوفة أى الحد الأعلى للمصفوفة وفى هذه الجزئية يمكنك مراجة الرابط التالى للعالم الكبير / عبد الله باقشير http://www.officena.net/ib/index.php?showtopic=42397 وطبعا شرف لى مشاركة أستاذى العالم الكبير / عبد الله باقشير
  11. بسم الله ما شاء الله تسلم ايديك أستاذى الفاضل
  12. أخى الحبيب فضل هذا الكلام الجميل كثير على جدا فأنا حتى الآن ما زلت تلميذ أتلقى العلم من أساتذة هذا المنتدى العظيم وأى عمل أو كود أقوم بعملة ما هو الا حصيلة ما تعلمته من الأساتذة المبدعين وهم كثير ولكنى أخص بالذكر منهم اثنين لشدة حبى وتقديرى لهم فقد تعلمت منهم الكثير والكثير وهم الأستاذ / عبد الله باقشير والأستاذ / عبد الله المجرب لذا أخى الحبيب كان من الصعب أن يقوم التلميذ بشرح ما تعلمه من أساتذته ولكن تلبية لطلبك أقوم بمحاولة للشرح أدعو الله أن يوفقنى فيها البداية MyArr = Trim(Cells(i, 2)) دالة TRIM تترك مسافة واحدة بين الكلمات وتزيل كل المسافات الزائدة الأخرى وبالتالى يكون MyArr مساوى لقيمة الخلية Cells(i, 2) بعد ازالة المسافات الزائدة السطر التالى For Each cll In [c1:p1] بداية حلقة تكرارية لجميع الخلايا من C1 الى P1 وهى الخلايا التى تحتوى على أسماء مواد الدور الثانى أما الجملة التالية فهى جملة مركبة تعلمتها من الأستاذين الكبيرين عبد الله باقشير وعبد الله المجرب x = UBound(Filter(Split(MyArr, ","), cll)) + 1 ولفهم هذه الجملة لابد من تجزئتها وفهم آليه عمل كل جزء أولا ( من الداخل الى الخارج) 1- دالة SPLIT تقوم بتجزئة نص معين ( جملة مثلا ) الى عدة نصوص أو أجزاء ( كلمات مثلا ) وبالتالى الدالة Split(MyArr) تقوم بتجزئة النص المكتوب فى الخلية المقصودة مثال اذا كانت الخلية الموجودة فى العمود ( B ) عمود مواد الدور الثانى تحتوى على ( " تاريخ – فيزياء" ) مثلا فان ناتج التقسيم يكون " تاريخ" "-" "فيزياء" 2- دالة FILTER تقوم بعمل تصفية لناتج التقسيم ( الموجود فى الخطوة السابقة ) ويكون معيار التصفية هو الخلية cll وهى الخلايا من C1 الى P1 Filter(Split(MyArr), cll) فاذا كانت الخلية cll تساوى عربى مثلا فان ناتج التصفية يكون فارغ ( بناءا على ناتج التقسيم السابق) واذا كانت الخلية cll تساوى تاريخ مثلا فان ناتج التصفية يكون " تاريخ" فقط وهكذا 3- الدالة UBound تستخدم مع المصفوفات Arrays لمعرفة الحد الأعلى للمصفوفة وكما فى المثال السابق اذا كان ناتج التصفية فارغ مثلا يكون ناتج الدالة UBound هو -1 أما اذا كان ناتج التصفية " تاريخ" مثلا يكون حد واحد وتكون رتبته ( (index له ( صفر ) ثم بعد ذلك تم اضافة رقم 1 الى الجملة x = UBound(Filter(Split(MyArr, ","), cll)) + 1 وبالتالى اذا كانت قيمة x تساوى الصفر معنى ذلك أن ناتج التصفية فارغ وأما اذا كانت قيمة x أكبر من الصفر معنى ذلك أن ناتج التصفية له قيمة تساوى قيمة خلية من الخلايا من C1 الى P1 وبالتالى تكون الخطوة التالية هى وضع قيمة الخلية فى المكان المناسب فى العمود الخاص بها فى النهاية عذرا للاطالة وليعذرنى أساتذتى عن أى خطأ فى الشرح دمتم فى رعاية الله وحفظه أخوكم / رجب جاويش
  13. أخى الحبيب / عمرو رحيل جزاك الله كل خير أخى الحبيب على هذا المرور العطر
  14. اخوتى الأفاضل لإثراء الموضوع هذا كود يقوم بعمل المطلوب Sub ragab() For i = 2 To 21 MyArr = Trim(Cells(i, 2)) For Each cll In [c1:p1] x = UBound(Filter(Split(MyArr, ","), cll)) + 1 If x > 0 Then Cells(i, cll.Column) = cll Next Next End Sub توزيع المواد تحت اسماء اعمدتها رجب.rar
  15. أخى الفاضل / هانى عدلي حل جميل تسلم ايديك
  16. تفضل أخى تم استخدام دالة countif بطريقة عادية Book.rar
  17. بعد اذن إخوتى المشاركين أخى ابراهيم هذا الرابط يحتوى على طلب مشابه تماما لطلبك http://www.officena.net/ib/index.php?showtopic=42476
  18. تفضل أخى تم تبديل كود البحث بكود آخر أرجو التجربة ورقة1.rar
  19. اللهم رب الناس اذهب البأس واشف أنت الشافي لا شفاء إلا شفاؤك شفاء لا يغادر سقما نسأل الله العظيم رب العرش العظيم أن يشفها
  20. تفضل بعد تعديل الفورم لم يعمل اضافة سجلات جديدة - بعد اضافة كود التكبير بعدة الطرق.rar
  21. عذرا أخى الفاضل أرجو السماح فى السهو عن الموضوع وان شاء الله سوف أحاول فى هذا الموضوع وأرد عليك فى أقرب وقت
  22. أخى الحبيب / أبو أنس حاجب حفظه الله اكرمك الله في الدارين وجزاك الله كل خير وبارك فيك واثابك بدعائك واعطاك بمثله اضعاف مضاعفة ودمت في حفظ الله ورعايته
  23. تفضل أخى بعد تعديل الفورم لم يعمل اضافة سجلات جديدة.rar
  24. أخى الفاضل / هانى ابو ادهم هذا والله من حبى للأكواد بسبب حبى لأساتذة هذا المنتدى العظيم اللذين تعلمت منهم وما زلت أتعلم منهم
×
×
  • اضف...

Important Information