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

إستخراج جزء نصي من خلية بها بيانات


Rahem
إذهب إلى أفضل إجابة Solved by سليم حاصبيا,

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

السلام عليكم

كيف أستخرج من خلية بها بيانات جزء معين من النص

مثل 

يوجد خلية تحتوي علي البيانات التالية

  514 124587AUG-28-2019 21:06 0780071H 9958        

 

أنا عايز أستخرج النص ده  AUG-28-2019 21:06   فقط من الخلية

 

هل هناك طريقة أو معادلة لعمل ذلك 

وشكراً

TEXT.PNG

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

تفضل اخي هذه الداله تفي بالغرض مع العلم ان

A10 هي رقم الخليه المراد استخراج النص منها

رقم 11 هو رقم اول حرف تريد ان تبدا به النص المراد استخراجه من البيانات

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

image.png.1a9f0fdbf71c81af9508382da7ab44b2.png

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

السلام عليكم

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

Function Ali_Splt(F, Optional S As String = " ")
Dim x, c
  x = Split(Mid(F, 7, Len(F)), S)
    For i = LBound(x) To UBound(x)
     If i <= 1 Then c = c & S & x(i)
    Next i
If Len(F) > 0 Then Ali_Splt = c
End Function

 

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

  • أفضل إجابة

ممكن هذا الماكرو لمختلف الحلات دون التقيد بعدد الحروف حيث يبدأ البحث

Option Explicit

 Sub Extract_Date_Please()
 Dim i%: i = 1
 Range("C1").CurrentRegion.ClearContents

  Do Until Range("A" & i) = vbNullString
  Call SPLIT_ME _
  (Range("a" & i), "\D+-\d+-\d+\s+?\d+:\d+", i, 3)
   i = i + 1
   Loop
 End Sub
 '+++++++++++++++++++++++++++++++

Sub SPLIT_ME(c As Range, pttrn As String, k%, m%)
    With CreateObject("VBscript.RegExp")
        .Global = True: .MultiLine = True
        .IgnoreCase = False: .Pattern = pttrn
         If Not .Test(c.Value) Then Exit Sub
            Cells(k, m) = .Execute(c.Value)(0)
            m = m + 1
    End With
End Sub

مثال للتوضيح في الملف المرفق

 

 

 

Extract_dates.xlsm

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

السلام عليكم

بارك الله فيك استاذ سليم استخدام رائع للـ Regex

بالامكان نستخدم كودك الرائع كمعادلة 

Function SPLIT_ME(c, Optional pttrn As String = "\D+-\d+-\d+\s+?\d+:\d+")
  With CreateObject("VBscript.RegExp")
       .Pattern = pttrn: SPLIT_ME = .Execute(c.Value)(0)
  End With
End Function

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

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

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