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

دالة إستخراج اسم ولي الامر


الردود الموصى بها

السلام عليكم

بعون الله وتوفيقه اليكم الدالة الخبورية الاولى

إستخراج اسم ولي الامردالة

Father_Name(B3;TRUE)

الحالات التي تقوم بها في حالة التعيين TRUE

وهو الافتراضي

1- اسم الطالب الغير مركب

2- اسم الطالب المركب والذي يكون اسمه الاول المركب بالكلمة "عبد"

3- اسم الطالب المركب والذي يكون اسمه الثاني المركب إسم الجلالة "الله"

في أي حالات اخرى غير المذكورة اعلاه

استخدم FALSE

__________________.rar

====================================

لقد تم اضافة حالة جديدة الى القاعدة TRUE

وهي الاسماء المركبة التي يكون اسمها الثاني كلمة "الدين"

سيتم تغيير الكود الى التالي :

Function Father_Name(Name As Variant, KhBoolean As Boolean)
Dim KhString, SearchChar, KhMyNo, KhMyNo1
Dim KhMyLen As Integer
KhString = Name.Value
KhString = Trim(KhString)
KhMyLen = Len(KhString)
SearchChar = " "
If InStr(1, KhString, SearchChar, 1) = 0 Then Father_Name = "": GoTo 2
If Mid(KhString, 1, 3) = "عبد" Then GoTo 1
If KhBoolean Then
   KhMyNo = InStr(1, KhString, SearchChar, 1) + 1
   If Mid(KhString, KhMyNo, 4) = "الله" _
   Or Mid(KhString, KhMyNo, 5) = "الدين" Then GoTo 1
   Father_Name = Mid(KhString, KhMyNo, KhMyLen)
Else
1   KhMyNo = InStr(1, KhString, SearchChar, 1) + 1
   KhMyNo1 = InStr(KhMyNo, KhString, SearchChar, 1) + 1
   Father_Name = Mid(KhString, KhMyNo1, KhMyLen)
End If
2 End Function

_______________________2.rar

تم تعديل بواسطه خبور خير
رابط هذا التعليق
شارك

اخي الكريم خبور

زادك الله من فضله وزادك علما

اخواني حسام وابو اسامة

كما يتضح من الشرح فلو اضفنا اسم حسام الدين عبد المنعم السيد فيجب ا ستخدام المعادلة ادناه كما شرح اخي خبور وستجد نفس الاسم بالسطر 19 من المرفق

=Father_Name(B3;FALSE)
اما استخدام المعادلة ادناه
=Father_Name(B3;TRUE)

فتنطبق على

1- اسم الطالب الغير مركب

2- اسم الطالب المركب والذي يكون اسمه الاول المركب بالكلمة "عبد"

3- اسم الطالب المركب والذي يكون اسمه الثاني المركب إسم الجلالة "الله"

وعليه فان المثال والمرفق متطابقين

تم تعديل بواسطه نزار سليمان عيد
رابط هذا التعليق
شارك

اخي الكريم خبور

زادك الله من فضله وزادك علما

اخواني حسام وابو اسامة

كما يتضح من الشرح فلو اضفنا اسم حسام الدين عبد المنعم السيد فيجب ا ستخدام المعادلة ادناه كما شرح اخي خبور وستجد نفس الاسم بالسطر 19 من المرفق

CODE

=Father_Name(B3;FALSE)

اما استخدام المعادلة ادناه

CODE

=Father_Name(B3;TRUE)

فتنطبق على

1- اسم الطالب الغير مركب

2- اسم الطالب المركب والذي يكون اسمه الاول المركب بالكلمة "عبد"

3- اسم الطالب المركب والذي يكون اسمه الثاني المركب إسم الجلالة "الله"

وعليه فان المثال والمرفق متطابقين

=====================================

السلام عليكم

الاخ الفاضل / نزار سليمان _____________حفظك ربي ورعاك

لقد ادخلت الاطمئنان الى قلبي

فكنت محتارا في مشاركة اخي الفاضل حسام

ما هو المقصود منها ؟؟

حيث ان الدالة تقوم بالمطلوب حسب ما شرحت حضرتك اعلاه

فظنيت ان هناك مقصد آخر من معنى مشاركته

اشكرك اخي العزيز من كل كياني

حفظك ربي ورعاك

======================================

الاخ الفاضل حسام نور ------------- حفظه الله

هل هناك معنى آخر مما قصدت بقولك في المشاركة خاصتك ؟؟

======================================

الاخ الفاضل محمدي عبد السميع ------------- حفظه الله

تحياتي وشكري

======================================

الاخ الفاضل ابواسامة ------------- حفظه الله

تحياتي وشكري

رابط هذا التعليق
شارك

المحترم / الاستاذ خبور

جزاك الله خيرا

هذه الدالة رائعة

ومشاركة الاستاذ حسام لم نفهم لها معنى

ومشاركة الاستاذ العينبوسي نريد منه التوضيح

ومشاركة الاستاذ نزار تدل على التوضيح

حقا شكرا لشهامته

اخي المحترم خبور

عذرا .....

ارجو ان تمتعنا بالحل في هذا الرابط .. ومرة اخرى عذرا للتداخل

ونرجو ان تجعله في موضوع مستقل لتعم الفائدة لان اسمك علم

(كود تقسيم الاعمدة والصفوف رائع ... ولكننا نريد معه كود لنسخ الرأس والذيل بنفس عدد الاعمدة والصفوف )

http://www.officena.net/ib/index.php?showt...20&start=20

رابط هذا التعليق
شارك

بسم الله الرحمن الرحيم

اخى خبور

بارك الله فيك

مايقصده الاستاذ حسام نور :

اذا كتبت

حسام الدين عبد المنعم السيد

سيظهر اسم الوالد

الدين عبد المنعم السيد

و لكن الفكره رائعه

جزاك الله خيرا

السلام عليكم

رابط هذا التعليق
شارك

استاذي الفاضل هادي السلام عليكم

طال غيابك ونحن بانتظار لمساتك وابداعاتك

استاذي الفاضل

هل جربت كتابة الاسم حسام الدين عبد المنعم السيد في الخلية رقم B19 بالتحديد

جرب ثم اعطيني رايك

رابط هذا التعليق
شارك

استاذي الفاضل هادي السلام عليكم

طال غيابك ونحن بانتظار لمساتك وابداعاتك

استاذي الفاضل

هل جربت كتابة الاسم حسام الدين عبد المنعم السيد في الخلية رقم B19 بالتحديد

جرب ثم اعطيني رايك

بسم الله الرحمن الرحيم

اخى نزار شكرا على كلامك الجميل

النتيجه سليمه فى B19

و ليست سليمه فى B3

السلام عليكم

رابط هذا التعليق
شارك

نعم استاذي الفاضل

هذا ما اوضحه اخي خبور في شرح الملف عن وجود معادلتين او نفس المعادلة واحدة تنتهي بـ True والاخرى False

فعند استخدام True في هذا المثال سيظهر ان النتيجة غير سليمة

اما اذا استخدمنا False في نفس المثال فالنتيجة سليمة

وشكرا على مرورك استاذي العزيز

رابط هذا التعليق
شارك

أخي الجميل خبور خير

جربت أدخال " حسام الدين عبد المنعم السيد " في B23

فظهر الأسم لولي الأمر / الدين عبد المنعم السيد ولكن في الوضع True وظبطت الأمور مع False

بارك الله في علمك ونفع به الكل

رابط هذا التعليق
شارك

السلام عليكم

يا لها من فرحة بهذا التشريف من اساتذتنا الاكارم

حفظهم ربي ورعاهم

الاستاذ القدير / هادي سالم ____________حفظه الله

الفكرة في هذه الدالة اننا نريد ان نعمل قاعدة معينة لمعرفة اسم الطالب الاول

من اجل استخراجة من الاسم الشامل

وبما ان اسم الطالب الاول قد لايكون مركبا وقد يكون مركبا من اسمين

ولانه لا توجد قاعدة نستطيع من خلالها ضبط هذا الاشكال في بعض الحالات

استخدمنا هنا قاعدة ( True/ False)

الاسم الغير مركب ( لا يوجد فيه إشكال)

الحالتين التي استطعنا ان نعمل لهم قاعدة لضبط هذا الإشكال هما:

1- اسم الطالب المركب والذي يكون اسمه الاول المركب كلمة "عبد"

2- اسم الطالب المركب والذي يكون اسمه الثاني المركب إسم الجلالة "الله"

الحالات اعلاه اعطيناهم الحالة ( True) وهي الحالة الشائعة

الحالات الاخرى والتي لا نستطيع ان نحدد لها قاعدة معينة ( الى يومنا هذا )

نستخدم معها الحالة ( False) باعتبارها الحالة الادنى

والا ما الفائدة اساسا من اضافة قاعدة ( True/ False) في تعريف الدالة كنا سنكتفي بالاشارة الى خلية الاسم

قد نتوصل الى حلول اخرى

ولكن / إن شاء الله

ان كانت لديكم اي اقتراحات لما فيه الافضل فنحن آذان صاغية

هذا جعلته بخصوص ما ذكر والباري يحفظكم والدعاء وصية ودمتم في حفظ الله

============================================

الاخوان / الكريمان/ ناصر و باسم ------- حفظكما ربي

تحياتي وشكري

اخي ناصر

سنرى ما اشرت اليه

إن شاء الله

============================================

الاستاذ القدير / حسام نور____________المحترم

فهمت الموضوع اخي شكرا جزيلا

تم تعديل بواسطه خبور خير
رابط هذا التعليق
شارك

اخواني السلام عليكم

اخي خبور بعد اذنك قمت بعمل تعديل بسيط على المعادلة لكي تتم القراءة اتوماتيكيا بدون ان نكتب False او True

والمعادلة هي

=IF(LEN(SUBSTITUTE(B25," ",))<18,Father_Name(B25,TRUE),Father_Name(B25,FALSE))

وهي عبارة عن قراءة عدد الاحرف بحيث اذا كانت اقل من 18 حرف يستخدم True واذا كانت اكبر يستخدم False

وحسب التجربة على نفس المرفق ولكن في عمود D تم وضع المعادلة الجديدة الفكرة نجحت فالرجاء التجربة واعلامنا بالنتيجة

انظر للمرفق

______________________________.rar

تم تعديل بواسطه نزار سليمان عيد
رابط هذا التعليق
شارك

السلام عليكم

اخي نزار حفظه الله

لقد اضفت الى الحالات TRUE

============================================

الاسماء المركبة والتي يكون الاسم المركب الثاني فيها "الدين"

============================================

و لكن اكيد في اسماء اخرى ايضا تحتاج تعريف

المطلوب من اخواننا المدرسين كشف بالاسماء المركبة غير التي ضبطناها سابقا

حتى نعمل قاعدة تشمل هذه الاسماء ان امكن

وبرضوا ستظل قاعد استخدام FALSE

قائمة للاحتمالات المستقبلية

ساضيف الكود الجديد في اول مشاركة ايضا للفت الانتباه

الكود الجديد

=======

Function Father_Name(Name As Variant, KhBoolean As Boolean)
Dim KhString, SearchChar, KhMyNo, KhMyNo1
Dim KhMyLen As Integer
KhString = Name.Value
KhString = Trim(KhString)
KhMyLen = Len(KhString)
SearchChar = " "
If InStr(1, KhString, SearchChar, 1) = 0 Then Father_Name = "": GoTo 2
If Mid(KhString, 1, 3) = "عبد" Then GoTo 1
If KhBoolean Then
   KhMyNo = InStr(1, KhString, SearchChar, 1) + 1
   If Mid(KhString, KhMyNo, 4) = "الله" _
   Or Mid(KhString, KhMyNo, 5) = "الدين" Then GoTo 1
   Father_Name = Mid(KhString, KhMyNo, KhMyLen)
Else
1   KhMyNo = InStr(1, KhString, SearchChar, 1) + 1
   KhMyNo1 = InStr(KhMyNo, KhString, SearchChar, 1) + 1
   Father_Name = Mid(KhString, KhMyNo1, KhMyLen)
End If
2 End Function

======================

مرفق ملف المشاركة رقم 1

======================

تم تعديل بواسطه خبور خير
رابط هذا التعليق
شارك

شكرا لكم على هذه الدالة القوية

وطلبك بعينات بالاسماء المركبة .. سأحضر عدة كشوف وأستخرج منها هذه النوعية وان رأيت فيها بأسماء جديدة سأوافيكم

ولكن الاسماء المركبة لا يمكن حصرها والسبب هو ان شخصا ما يعجب باسم شخصية

فيجعلها اسما لولده ( جمال عبد الناصر ) محمد وهكذا

والحق يقال ان كودك ألم بالكثير من هذه النوعية فالأسماء التي بعد كلمة ( عبد ) اكثرهم

جزاك الله بالرزق الحلال الطيب المبارك فيه

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information