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

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

قام بنشر

الأخوة الأعزاء

السلام عليكم ورحمة الله وبركاته ،،،،،

كل عام وأنتم بخير بمناسبة عيد الأضحى المبارك ..................

بالملف المرفق ستجدون بالخلية D2 أنه قد تم إدخال قيمتان (=66863+2105)، أريد بالخلية F5 إستخراج (إستخلاص) القيمة الأولى فقط وهى (66863) وبالخلية H5 إستخراج (إستخلاص) القيمة الثانية فقط وهى (2105).

فهل هذا بالإمكان ........ ؟

أرجو أن أكون قد وفقت فى شرح ما أقصدة.

خالص شكرى وتقديرى

أخوكم

عيد مصطفى

Book111.rar

قام بنشر (معدل)

أخي الفاضل الأستاذ ( عيد )

كل سنة وأنت طيب أولا بالعيد أعادة الله عليك وعلي الأسرة الكريمة بألف خير

ثانيا - هل يمكن الأستغناء في معادلة الجمع عن علامة (= )

إذا كانت الأجابة ( نعم ) فالحل أصبح سهلا أما إذا كان ( لا ) نبحث عن طريقة أخري

تم تعديل بواسطه mahmoud-lee
قام بنشر (معدل)

أخى الحبيب محمود

كل عام وأنت طيب وبخير أعادة الله عليك وعلى أسرتك الكريمة وعلى الأمه الإسلامية جميعها بألف خير وسلام

أخى الحبيب أنا أعلم أن المشكله فى علامة (=) وهو الأمر الذى قابلنى ولم أتمكن من حله وهذا سبب إرسالى لطلب المساعدة

فللأسف القيمة بالخلية D2 تحتوى على جمع القيمتان لذا فهى تحتوى على تلك العلامه.

أخى الحبيب (محمود) إن كان الأمر ليس بالإمكان فلا عليك إطلاقاً ، وسأحاول أن أبحث عن طريقة أخرى بملف العمل لتسهيل الأمر وكى أتمكن من إستخراج القيمتان كل على حده.

مرة أخرى خالص التهانى بعيد الأضحى المبارك

أخوك

عيد مصطفى

تم تعديل بواسطه Eid Mostafa
قام بنشر (معدل)

العفو أخي وكل عام وحضرتك بخير

علي العموم هذا مرفق فصل محتوي الخلية بعد إزالة علامة ( = )

لعلة يفيد لحين البحث عن حل أخر من قبلي أومن قبل الأساتذة وأعضاء المنتدي

فصل جمع رقم.rar

تم تعديل بواسطه mahmoud-lee
قام بنشر

أخى الحبيب محمود

أشكرك على إهتمامك بالرد أولاً

وأشكرك على محاولتك القيمة ثانياً

وأكررها لك مرة أخرى أخى الحبيب (محمود) إن كان الأمر ليس بالإمكان فلا عليك إطلاقاً.

ويكفينى جداً قيامك بالمحاوله.

مرة أخرى خالص التهانى بعيد الأضحى المبارك

أخوك

عيد مصطفى

قام بنشر

السلام عليكم ورحمة الله

أخواي الكريمين عيد ومحمود، حسب معرفتي بالإكسيل لا أعتقد أن هذا الطلب ممكن باستعمال المعادلات (لا توجد دالة تقوم باستخلاص معادلة في خلية على شكل نص) (ولست أدري إن كان ذلك ممكنا بواسطة VBA)... لو أدخلت المعادلة على شكل نص مثل :

'=66863+2105

فهذا ممكن جدا لأنه يسهل التعامل مع النصوص باستعمال دوال كثيرة...

والله أعلى وأعلم

أخوكم بن علية

قام بنشر (معدل)

السلام عليكم

استخدم هذه الداله المعرفه

1 يعطيك الشرط الاول

2 يعطيك الشرط الاخر

بالشكل التالي تعطيك المعادله "2105"


=Ali_F(D2;2)


Public Function Ali_F(R As Range, V As Integer) As Long

Dim A, B

B = Mid(R.Formula, InStr(R.Formula, "+") + 1)

If Val(V) = 1 Then

A = Mid(R.Formula, InStr(R.Formula, "=") + 1, 5)

ElseIf Val(V) = 2 Then

A = Mid(R.Formula, Right$(InStr(R.Formula, "+"), Len(B)))

End If

Ali_F = A

End Function

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

السلام عليكم ورحمة الله

أخي الكريم عباد، والله كود جميل ورائع بارك الله فيك وجزاك الله كل الخير، زادك الله علما وفيرا وأحسن إليك... واسمح لي أن أبدي ملاحظة فيما يخص القيمة الأولى A يستحسن عدم استعمال هذه الدالة المخصصة لأن في الكود جعلت القيمة A من 4 أرقام إلى 5 أرقام ولا يقبل غيرها... وبدل هذا وللحصول على قيمة A (القيمة الأولى) نقوم بعملية بسيطة "عملية طرح" "القيمة الإجمالية (A+B) - قيمة B (القيمة الثانية في المجموع المحصل عليها بوساطة الدالة المخصصة)"، وفي هذه الحالة نتحصل على قيمة A مهما كان عدد أرقامها...

وأعود وأقول إن الكود رائع جدا...

أخوك بن علية

قام بنشر

السلام عليكم ورحمة الله وبركاته

الأستاذ الكبير / العيدروس

الاستاذ الكبير / بن عليه

بعد التحية

اسمحا لى أن اتعلم منكا وأنتما أستاذان كبيران

لقد لاحظت نفس ملاحظة الاستاذ الكبير بن عليه على هذا الكود الرائع

ولقد سمحت لنفسى بتعديل بسيط عليه حتى يعمل مع جميع الأرقام

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

فارجو أن يكون التعديل صحيحا

وهذا هو التعديل


Public Function Ali_F(R As Range, V As Integer) As Long

Dim A1, A2, B, C

B = Mid(R.Formula, InStr(R.Formula, "+") + 1)

C = Mid(R.Formula, InStr(R.Formula, "=") + 1)

A1 = Mid(R.Formula, Right$(InStr(R.Formula, "+"), Len(B)))

A2 = Mid(R.Formula, InStr(R.Formula, "=") + 1, Len(C) - Len(B))

If Val(V) = 1 Then

Ali_F = A1

ElseIf V = 2 Then

Ali_F = A2

End If

End Function

فصل أرقام من دالة جمع.rar

قام بنشر

الأخ الحبيب / محمود ----------

الأخ الحبيب / بن علية ----------

الأخ الحبيب / عباد (أبو نصار)

:wink2: ----------

الأخ الحبيب / رجب جاويش ----------

أشكركم جميعاً أولاً على تفاعلكم الأكثر من رائع هذا

كما أشكركم جميعاً ثانياً على آرائكم ومقترحاتكم القيمة وحلولكم الأكثر من رائعه

:fff: :fff: :signthankspin::signthankspin::fff: :fff:

خالص شكرى وتقديرى

أخوكم

عيد مصطفى

قام بنشر

السلام عليكم

بارك الله فيكم الجمع المبارك

وكل عام وانتم بخير

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

لاثراء الموضوع :

الدالة ادناه يمكنك استخدامها

مهما كان عدد الارقام المضافة

واي طول للرقم

مثلا:

=12+1222+111
=12345+1222
عين تسلسل الرقم المضاف في المتغير iNdx 1 للقيمة الاولى , 2 للقيمة الثانية , 3 للقيمة الثالثة .... وهكذا
=kh_ShowValue($D$2;1)
كود الدالة:

Function kh_ShowValue(RngFormla As Range, iNdx As Integer)

Dim sFm As String

sFm = Mid$(RngFormla.Formula, 2)

kh_ShowValue = Split(sFm, "+")(iNdx - 1)

End Function

تقبلوا تحياتي وشكري

قام بنشر (معدل)

الأخ الحبيب / عبد الله باقشير ----------

أشكرك أيضاً على تفاعلك هذا وإثرائك للموضوع

:fff: :fff: :signthankspin::signthankspin::fff: :fff:

خالص شكرى وتقديرى

أخوك

عيد مصطفى

تم تعديل بواسطه Eid Mostafa
قام بنشر (معدل)

الأخوة والأساتذة الكبار

كم أنا سعيد بهذا الجمع من عمالقة وخبراء المنتدى

وهو مايفوق سعادتى بتفاعلكم هذا وإثرائكم للموضوع

:fff: :fff: :signthankspin::signthankspin::fff: :fff:

اللهم جمعنا دائماً على ما فيه الخير

وكل عام وأنتم والأمه الإسلامية جميعها بخير

خالص شكرى وتقديرى

أخوكم

عيد مصطفى

تم تعديل بواسطه Eid Mostafa

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