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

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

قام بنشر

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

اخوانى الاعزاء كيف يمكننى فصل رقم (كود صنف) عن اسمه اذا كان داخل خلية واحدة

مع العلم بان كود الصنف دائما جهة اليسار واسم الصنف جهة اليمين وقد يكون بكود الصنف صفر جهة اليسار وكود الصنف بالمثال ادناه هو 00101253520

المطلوب ان يظهر كود الصنف بخلية وباقى الجملة (اسم الصنف) بخلية اخرى

ارجو ذكر المعادلة او الطريقة الملائمة

مثال

00101253520 split unit model mvu002458 220 v

ولكم كل الشكر والتقدير

قام بنشر

السلام عليكم

هذه اكواد دوال معرفة لاستخراج الصنف والكود


Function MyCode(MyCel As Range) As String

Dim R As Integer

Do Until IsNumeric(Mid(MyCel, R + 1, 1)) = 0

R = R + 1

Loop

MyCode = Mid(MyCel, 1, R)

End Function

Function MyItem(MyCel As Range) As String

Dim R As Integer

Do Until IsNumeric(Mid(MyCel, R + 1, 1)) = 0

R = R + 1

Loop

MyItem = Mid(MyCel, R + 1, Len(MyCel))

End Function

قم بنسخ الكود ولصقه في محرر الاكواد بعدها من ادراج دالة اختر معرفة من قبل المستخدم ستجد هتان الدالاتان MyItem و MyCode للصنف اختر MyItem اختر خلية الاسم لتكون هي بارو متر الدالة === للكود اختر MyCode اختر خلية الاسم لتكون هي بارو متر الدالة =========================== طريقة أخرى انسخ الكود اعلاه الى محرر الاكواد ثم لنفترض ان الاسم المشترك موجود في الخلية A1 انسخ هذه المعادلة وضعها في خلية استخراج الصنف

=MyItem(A1)

وهذه في خلية استخراج الكود

=MyCode(A1)

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

السلام عليكم

بعد اذن استاذي الحبيب عبداله المجرب

وهذا حل اخر لتعدد الحلول

انسخ الكود التالي في مودويل


Private Function Splt_A(ByVal Sp As String, x As Integer) As Variant

Dim T, xx

For Each T In Split(Sp, " ")

If IsNumeric(T) And x = 1 Then xx = T: Exit For

If Not IsNumeric(T) And x = 0 Then

xx = xx & " " & T

End If

Next

Splt_A = xx

End Function

الاستخدام كالتالي فرضا الجمله في العمود A لإستخراج كود الصنف

= Splt_A(A2; 1)

لإستخراج باقي النص

= Splt_A(A2; 0)

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

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

الاخوة الكرام بعد التحية,

بالنسبة للطريقة الثانية المقدمة من الااخ عباد بارك الله فيه

فبها ملحوظتين

1-ان كود الصنف لو احتوى على حرف فى اخره لا تعطى نتائج ولكنها تعطى صفر وهو ما يوفر يوضح ماهو الخلايا التى بها مشاكل

2-توجد مسافة فى بداية اسم الصنف

وبالاسفل مرفق يوضح المقصود بالشرح اعلاه

بالنسبة لطريقة الاستاذ عبد اله المجرب (ابو احمد) بارك الله فيه

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

وانا كل ما احتاجه هو

1-كود الصنف هو الرقم الذى ينتهى بمسافة (بافتراض ان كود الصنف كلمة فبنهايتها مسافة تفصل بين الكود واسم الصنف اريدها لاتعتد على رقم معين ففى بعض الاحيان يكون كود الصنف به صفر على اليسار او حرف على اليمين او اليسار)

2-اسم الصنف يظهر بدون مسافة فى بداية الجملة

ولكم كل الاحترام والتقدير

طريقة 1Data14-01-2013.rar

قام بنشر

السلام عليكم

بعد إذن أخواني الأجلاء : أبا نصار (عباد) ، وأبا أحمد (عبد الله)

يبدو ان الحل ممكن يكون ببساطة عن طريق Text2Column

أخي العزيز

أولا أعد تنسيق عمود البيانات علي شكل عدد من الأصفار 8 أو 9 مثلا حسب الحالة عندك

ثانيا إستخدم خاصية Text2Column الموجودة في قائمة Data

أنظر الفيديو المرفق

text2column.rar

قام بنشر

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

انا كنت داخل اكتب الطريقة اللى ا/ طارق محمود تفضل وذكرها بعد م صديق ليا عرفهالى

لكن السيد طارق المحترم تفضل وذكرها قبل م اوصلها

لكم جميعا كل الاحترام والتقدير

وبصراحة ميزة المنتدى هنا ان الكل بيحب يساعد وربنا مايحرمنا ولا يحرمكم منها نعم وفى ميزان حسناتكم ان شاء الله

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