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

معالجة كود لا ينفذ لفصل المتن عن الرقم


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

وعليكم السلام أخي محمد
من أين حصلت على تلك البيانات بهذا الشكل؟

الأرقام ليست بأرقام في الواقع .. لذا سيكون من الصعب التعامل قليلاً مع المشكلة

قمت بحل جزئي للمشكلة باستخراج تلك الأرقام وتحويلها لأرقام حقيقية .. تبقى فقط أن أستخرج النصوص واستبعاد الأرقام الظاهرة كنصوص

إن شاء الله سأصل لحل لها

 

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

بعد اذن أستاذى ياسر

تفضل أستاذ محمد الكود :

Option Explicit
Sub GetNumber()
' Author  : Mokhtar
' Release :  8 - 10 - 2016
' split and convert numbers stored as text numbers
'--------------------------------------------------
Dim C     As Range
Dim Rng   As Range
Dim I     As Long
Dim N     As Long
Dim S     As String
Dim Arr   As Variant
Application.ScreenUpdating = False
Range("C2").Resize(4).ClearContents
For I = 2 To 5
     S = Range("B" & I)
     Arr = Split(S, " ")
     Cells(I, 4).Resize(1, UBound(Arr) + 1) = Arr
Next I
Set Rng = Cells(2, 4).CurrentRegion
For Each C In Rng.Cells
    C.Value = WorksheetFunction.Text(C, 0)
    If IsNumeric(C.Value) = True Then
         If C.Value > 0 Then
                N = N + 1
                ReDim Preserve Arr(1 To N)
             Arr(N) = CDbl(C.Value)
         End If
     End If
Next C
Rng.ClearContents
Range("C2").Resize(UBound(Arr, 1), 1) = Application.Transpose(Arr)
Erase Arr
Set C = Nothing
Set Rng = Nothing
Application.ScreenUpdating = True
End Sub

تحياتى

تم تعديل بواسطه مختار حسين محمود
  • Like 2
رابط هذا التعليق
شارك

بارك الله فيك أخي الحبيب مختار

كود جميل وقد تم استخراج الأرقام بشكل ممتاز

أكمل جميلك وأضف على نفس المشاركة استخراج النصوص في الخلية المجاورة لتكتمل الأسطورة

 

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

أم أنك تريد الاستخراج للأرقام كنصوص فقط كما هي موجودة داخل الخلايا ، وفي هذه الحالة لن تستطيع بعد الاستخراج أن تقوم بعمليات حسابية عليها؟

 

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

أشكرك أستاذى الغالى ياسر

أعتقد أن الاخ محمد يريد فصل الأرقام فقط  من النص  ولا أنا فاهم غلط

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

الان, مختار حسين محمود said:

أشكرك أستاذى الغالى ياسر

أعتقد أن الاخ محمد يريد فصل الأرقام فقط  من النص  ولا أنا فاهم غلط

اعتبر دا طلب مني .. اثراءً للموضوع أخي الغالي مختار :fff:

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

يا سلام   من غير ما تقول أخى و أستاذى

Option Explicit

Sub GetText()
' Author  : Mokhtar
' Release :  8 - 10 - 2016
' split Text from  numbers stored as text numbers
'--------------------------------------------------
Dim C     As Range
Dim FC    As Range
Dim Rng      As Range
Dim SRng     As Range
Dim I        As Long
Dim N        As Long
Dim S        As String
Dim Arr      As Variant
Dim StrStart As String

Application.ScreenUpdating = False
Range("D2").Resize(4).ClearContents
For I = 2 To 5
     S = Range("B" & I)
     Arr = Split(S, " ")
     Cells(I, 6).Resize(1, UBound(Arr) + 1) = Arr
Next I
Set SRng = Cells(2, 6).CurrentRegion
For Each C In SRng.Cells
        C.Value = WorksheetFunction.Text(C, 0)
        If IsNumeric(C.Value) = True Then C.ClearContents
Next C
For N = 2 To 5
     Set Rng = Range("F" & N, "Z" & N)
     Set FC = Range("D" & N)
     For Each C In Rng
        StrStart = C
        C.ClearContents
        FC = Trim(Replace(FC, FC, "") & " " & FC & " " & StrStart)
     Next C
Next N
Application.ScreenUpdating = True
End Sub

 

 

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

split string from number stored as text Mokhtar.rar

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

بسم الله ما شاء الله ..إبداع أخي الغالي مختار

والله لقد حرمنا منك طويلاً

 

إثراءً للموضوع إليكم الملف التالي فيه دالتين معرفتين تقومان بالغرض

رابط الملف من هنا

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

أشكرك أخى و أستاذى الغالى

جارى التحميل  ولا شك فى النتيجة قبل التجربة 

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

split string from number stored as text Mokhtar 2.rar

split string from number stored as text Mokhtar 2.rar

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

السلام عليكم

حياكم الله - مشكورين - جزيتم خيرا

نعم كان المطلوب فصل الرقم عن الاسم كنت محتاج الرقم - ولكن استفاد من الاسم

حاولت ان اجعل المدى من 5 الى C:C5    الى C100

ولكن ينفذ الى خمس اسماء فقط

 

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

وعليكم السلام أخي محمد

الحمد لله أن تم المطلوب على خير .. والشكر موصول لصاحب الهمة العالية والنشاط المتقد أخونا مختار بارك الله فيك وجزاه الله خير الجزاء

  • Like 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