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

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

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

بارك الله فيك اخي الغالي

الدالة من شكلها طويل وصعب

وفيها اخطاء راجع المبالغ ستجد ان بعض المبالغ تحولت من 141.00 مثلا الى 41.00 فقط الصف رقم 50

انا اريد تطبيق على اي عمود يظهر لي وليس هذا فقط لأنه مثال لا اكثر

انا اجرب النص الى اعمدة

ياريت لو فيه شرح مبسط او لو طرق اخرى

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

السلام عليكم

أخي الكريم معادلة الأستاذ ياسر عدلت عليها رقمين فقط بعد إذنه..

=VALUE(RIGHT(TRIM(SUBSTITUTE(A145;"المبلغ النهائي";""));3)&"."&LEFT(TRIM(SUBSTITUTE(A145;"المبلغ النهائي";""));3))

 

يرجى أن تكون مناسبة

  • Like 2
قام بنشر

أخي الحبيب عمرو

مشكور على مرورك العطر وكلماتك الطيبة

 

أخي الحبيب أبو يوسف

ماذا لو زادت الأرقام عن ثلاثة أرقام ؟ ..

أمر آخر لما الضغط على Ctrl +Shift + Enter (هذه ليست معادلة صفيف)

أرجو أن تتقبل النقد بصدر رحب .. وكلنا نتعلم من بعضنا البعض أبي الغالي

 

عموماً هذه دالة معرفة بسيطة تؤدي الغرض إن شاء الله

Function GetNumber(myStr As String)
    myStr = Replace(myStr, "المبلغ النهائي", "")
    GetNumber = Val(Split(Application.Trim(myStr))(1) & "." & Split(Application.Trim(myStr))(0))
End Function

 

Tee V2.rar

  • Like 2
قام بنشر

السلام عليكم شكراً على معلوماتكم القيمة 

وأنا أقبل النقد الذي أتعلم منه ...فكل ابن آدم خطاء...وأنا منهم ...

جزاكم الله خيراُ ...شكراً على التوضيح..

أحببت أن أساعد ..اعط الخباز خبزه لو أكل نصفه..

  • Like 2
قام بنشر

استاذي ابو يوسف 

هنا مفيش ادي العيش لخبازه  احنا هنا عشان  نعجن الدنيا ونخبز احنا 

ويطلع اخواتنا الخبراء يخبزو قدامنا  واحنا نعك 

لحد ما نعرف 

انا عن نفسي اكتر عكاك

وبحب اعك

معلش يابو براء اخبز يامعلم ووريني  عشان انا مبديش عيش لحد

ياسر العربي الفرنةاللي علي الناصية 

  • Like 1
قام بنشر

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

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

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

اثراء للموضوع جرب هذا الكود

Sub extract_number()

    Dim mytext As String
    Dim lr, x As Integer
    Dim y As String
    
Application.ScreenUpdating = False

lr = Cells(Rows.Count, 1).End(3).Row

For i = 1 To lr
        x = Len(Range("a" & i))
         For t = 1 To x
            y = Mid(Range("a" & i), t, 1)
             Select Case y
             Case 0 To 9
             mytext = mytext & y
          End Select
         Next
        Cells(i, 3) = mytext
    mytext = ""
 Next
Application.ScreenUpdating = True
End Sub

تستطيع ايضاً استعما هذه المعادلة

=RIGHT(TRIM(A1),FIND(CHAR(237),SUBSTITUTE(SUBSTITUTE(TRIM(A1)," ",""),"0","")))

 

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

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

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

استاذي الغالي  ابو يوسف

ارجو الا تحرمنا من كلماتك وردودك العطرة ومرورك الكريم

لا تقل ليتني

كلنا  نشارك ونصيب ونخطئ

واتمنى ان تشارك في كل موضوع

ارجوا عدم اخذ الامور بيننا علي محمل  غير المفترض بيننا

الا وهو انت ابانا واخونا الاكبر انت مثال يحتذى به انت فخر لهذا المنتدى انت استاذ تربية وتعليم

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

ارجو ان تتحدث هنا بروح الامل والفرح والمحبة

لانك طبعا تعرف جزاء ادخال السرور علي قلب اخوك المسلم

انا معرفوش

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

ارجو تقبل اعتذاري ان كان كلامى هو ما اثارك

اصل انا مدب ورخم  وبخبط كتيرر وربنا يسترها علينا :wallbash:

 

  • Like 1
قام بنشر

أخي الحبيب سليم

بارك الله فيك على إثراء الموضوع ، ولكن الكود لا يعطي نتائج صحيحة يرجى مراجعة الكود

 

أخي الحبيب أبو يوسف

كما ذكر أخونا الغالي الخباز المحترف ياسر العربي .. كلنا هنا لازم نعجن لحد ما الخبز يطلع في أحسن صورة

بالعكس أنا مبسوط جداً بمشاركتك ..لازم عشان تتعلم لازم تشارك وتغلط وتحاول وتفشل وتمشي وتقع وتقوم تقف تاني (هكذا يكون التعلم) ... لا أن نركن في جنب ونستنى دايماً المعلومة الجاهزة .. وبالمشاركات الكل بيتطور وبيتقدم ويتعلم وأنا أولكم والله .. أنا أبحث عن أكثر من حل حتى لو كان لدي حل .. فالبحث يزيد المعرفة ويوثق عملية التعلم

 

إليكم هذا الكود أيضاً ليؤدي الغرض وهو أسرع بكثير (جرب اأن تضع الآف البيانات في العمود الاول ونفذ الكود وستجد الفرق)

Sub ExtractNumber()
    Dim X, SP, I As Long
    With Range("A1", Cells(Rows.Count, 1).End(xlUp))
        X = Application.Trim(.Value)
        For I = 1 To UBound(X)
            SP = Split(X(I, 1))
            X(I, 1) = Val(Val(SP(3)) & "." & SP(2))
        Next I
        .Offset(0, 1).Value = X
    End With
End Sub

تقبلوا تحياتي

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

 اخي ياسر 

اظن ان الخطأ هو في طريقة تعامل الاكسل مع اللغات (العربية الاجنبية)

لكن وجدت لك معادلة تفي بالغرض و تعطينا نتائج رقمية

=TEXT(RIGHT(SUBSTITUTE(A1,"المبلغ النهائي",""),9)&"."&TRIM(LEFT(SUBSTITUTE(A1,"المبلغ النهائي",""),6))*1,"#.#0")*1

 

تم تعديل بواسطه سليم حاصبيا
  • Like 1
قام بنشر

جميلة المعادلة أخي الغالي سليم

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

يبقا فيه معادلة ودالة معرفة وكودين ..

صاحب الموضوع شكله نام بدري النهاردة .. :rol:

  • Like 1
قام بنشر

دالة معرفة اخرى 

(يمكن استعمالها كود ( مع بعض التعديلات

Function Ext_Num(myval As Range)

    t = Application.Trim(myval)
    x = Split(t, " ")
    Mytext = ""

For i = 0 To UBound(x)
     If IsNumeric(x(i)) Then
        Mytext = x(i) & Mytext
     End If
Next
    If Mytext = "" Then
       Ext_Num = "No Numbers"
     Else
         Ext_Num = Mytext / 100
     End If
End Function

 

قام بنشر

بارك الله فيكم على شروحاتكم الأكثر من رائعة

ماكنت اتوقع ان الموضوع يكون كبير لهذه الدرجة

كالعادة متميز ومتألق اخي الحبيب ياسر

اخي سؤال فقط واعتذر هل هذا الكود

Function GetNumber(myStr As String)
    myStr = Replace(myStr, "المبلغ النهائي", "")
    GetNumber = Val(Split(Application.Trim(myStr))(1) & "." & Split(Application.Trim(myStr))(0))
End Function

ممكن ان اطبقه في اي عمود

 

بمعنى فرضاً لدي هذا العمود في عمود اخر بخلاف هذا واريد استخلاص النتائج ايضاً في عمود اخر كيف لي ان اطبق هذا الحل 

قام بنشر

نعم أخي الكريم عبد الله يمكنك أن تطبقه على أي عمود ...

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

فمثلا لو كان البيان في الخلية K1 وتريد أن تظهر النتيجة في أي خلية أخرى في ورقة العمل

كل ما عليك إلا أن تكتب علامة يساوي يليها اسم الدالة ..هنا اسمها GetNumber كما أسميناها مع العلم أنه يمكنك التعديل لأي اسم تريده (بس لازم تعدل الدالة المعرفة أيضاً) ..

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

=GetNumber(K1)

 

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