السبيل1 قام بنشر ديسمبر 7, 2019 قام بنشر ديسمبر 7, 2019 هل هناك دالة أو كود "مرن" يستطيع القيام بحذف ما نريد بخلاف الحروف كالأرقام والرموز وما شابه في الجمل والفقرات النصية ليبقي النص فقط والمقصود بالمرونة هنا هو إمكانية التحكم بإضافة الرمز/الرموز أو الرقم/الأرقام التي نريد إفراغ النص منها مع مراعاة عدم ترك مسافة مكان الحذف وشكراً مقدما علي المساعدة New Microsoft Excel Worksheet.xlsx
محي الدين ابو البشر قام بنشر ديسمبر 8, 2019 قام بنشر ديسمبر 8, 2019 Function txtonly(rng As Range) Dim m, x, i With CreateObject("vbscript.regexp") .Global = True .MultiLine = False .Pattern = "[a-zA-Z]+" Set m = .Execute(rng) For i = 0 To m.Count - 1 x = x & m(i) Next End With txtonly = x End Function @Access2020 هذه دالة يمكن استخدامها في اكسل شيت مثلا : النص في الخلية A1 في الخلية B2 B2=Txtonly(A1) في حال انك تريد كود يعمل من خلال زر أرجو تحميل مثال لأطبقه لك بكل سرور 1
محي الدين ابو البشر قام بنشر ديسمبر 9, 2019 قام بنشر ديسمبر 9, 2019 تفضل New Microsoft Excel Worksheet.xlsm 1
محي الدين ابو البشر قام بنشر ديسمبر 20, 2019 قام بنشر ديسمبر 20, 2019 Sub txtonly() Dim a, m, x, i a = Cells(2, 1).Resize(Cells(Rows.Count, 1).End(xlUp).Row - 1) With CreateObject("vbscript.regexp") .Global = True .MultiLine = False .Pattern = "(\*+)|(\.)|(\&)|(\^)(\%)|(\$)|(\#)|(\@)|(\!)|(\d+)" For i = 1 To UBound(a) a(i, 1) = Trim(.Replace(a(i, 1), "")) Next End With [b2].Resize(UBound(a)) = a End Sub 1
محي الدين ابو البشر قام بنشر ديسمبر 22, 2019 قام بنشر ديسمبر 22, 2019 اوكي استبدل بـ .Pattern = "[.:*&^%$#@!!_\\/?<>-]" يمكنك Google regexp من أجل التفاصيل مثلا s =space.....
السبيل1 قام بنشر ديسمبر 22, 2019 الكاتب قام بنشر ديسمبر 22, 2019 أنا مش مستوعب الفقرة دي كويس لأني مش فاهم الكود لضعفي في مجال البرمجة ولكن مازال الخطأ يظهر بعد القيام بالتعديل الأخير أيضاً
محي الدين ابو البشر قام بنشر ديسمبر 23, 2019 قام بنشر ديسمبر 23, 2019 New Microsoft Excel Worksheet.xlsm .Pattern = "\W+" أضف رموزك في في بداية الـ PATTERN
Ali Mohamed Ali قام بنشر ديسمبر 26, 2019 قام بنشر ديسمبر 26, 2019 تفضل لك ما طلبت بمعادلة معرفة وهى Text_ALL Option Explicit Function Text_ALL(rng As Range) Dim i%, x$ With CreateObject("VbScript.RegExp") .Global = True .Pattern = "([\u0621-\u064A]+)" If Not (.Test(rng.Value)) Then _ Text_ALL = vbNullString: Exit Function For i = 0 To .Execute(rng.Value).Count - 1 x = x & " " & .Execute(rng.Value)(i).Value Next i Text_ALL = x End With End Function وهذه المعادلة توضع بالخلية B2 =Text_ALL(A2) New Microsoft Excel Worksheet.xlsm 1
السبيل1 قام بنشر ديسمبر 26, 2019 الكاتب قام بنشر ديسمبر 26, 2019 (معدل) شكراً أستاذ علي علي المداخلة الإيجابية بالمساهمة في إيجاد الحل ولكن كما يظهر بالصورة هناك أضطراب في النتائج مازال يحتاج لبعض التطوير أو التعديل حيث انه قد نجح في تجريد النص بحذف الرموز والتشكيل وخلافه ولكنه بالمقابل فكك الكلمات وحذف منها بعض الحروف تم تعديل ديسمبر 26, 2019 بواسطه السبيل1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.