أكاديمية الصقر للتدريب

لوحة التميز الأسبوعي
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
هانى على لا تميز خلال هذه الفترة-- لا تميز خلال هذه الفترة YasserKhalil مشكلة في الكود اكسيل اسئله واجابات


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





توحيد بداية ونهاية كل كلمة

بسم الله والحمد لله والصلاةوالسلام على رسول الله (اليوم هتكلم عن كود يهدف الى توحيد الكلمات التى لها نفس الغرض لأجل تخف ..



24-06-2021 03:18 مساء
Eslam Abdullah
مشرف على لغات برمجة آخرى
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 03-10-2017
رقم العضوية : 852
المشاركات : 1580
الدولة : مصر
الجنس : ذكر
تاريخ الميلاد : 1-9-1995
الدعوات : 5
يتابعهم : 0
يتابعونه : 89
قوة السمعة : 10845
موقعي : زيارة موقعي
عدد الإجابات: 6
 offline 

بسم الله والحمد لله والصلاةوالسلام على رسول الله

(اليوم هتكلم عن كود يهدف الى توحيد الكلمات التى لها نفس الغرض لأجل تخفيف العبئ فى تحليل البيانات)
 
بعد ادخال بيانات بأعداد ضخمه فمثلا الى 50,000 صف ثم لاحظت فى الاخير اختلافات فى المسميات لغرض واحد
فلما نيجى نطلع تقرير بالمسميات الفريده لاسماء شركات مثلا
مش هيطلعوا حاجه واحده بسبب اختلاف حروف زى حرف الياء او مسافات او ..... الى اخره

 
مثلا الصفوف دى:
اسم الشركة المديونيات
العربى للتكييفات الحديثة 400
العربي للتكييفات الحديثه 500
العربى للتكييفات الحديثه 400
العربي للتكييفات الحديثة 550

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

فسريعا سريعا زى ما قولت انسخ الكود دا عندك فى نافذة الاكواد داخل موديول


Sub Switch_first()
'Developer: Eslam Abdullah
Dim o$, n$, x&, y%, rng: rng = Selection
o = InputBox("Enter the old char (?)", "Switch first character")
If StrPtr(o) = 0 Then GoTo ext Else If Len(o) <> 1 Then GoTo msg
n = InputBox("Enter the new char (?)", "Switch first character")
If StrPtr(n) = 0 Then GoTo ext Else If Len(n) <> 1 Then GoTo msg

With CreateObject("VBScript.RegExp"): .Global = True: .Pattern = "(^|s)" & o
If Not IsArray(rng) Then ReDim rng(1 To 1, 1 To 1): rng(1, 1) = Selection
For x = 1 To UBound(rng, 1): For y = 1 To UBound(rng, 2)
rng(x, y) = LTrim(.Replace(rng(x, y), " " & n)): Next: Next
Selection = rng
End With

MsgBox "Done", 64, "Auditor: Eslam Abdullah"
ext: Exit Sub
msg: MsgBox "Only one char", 16, "Auditor: Eslam Abdullah"
End Sub
'-----------------------------------------------------------------------------
Sub Switch_last()
'Developer: Eslam Abdullah
Dim o$, n$, x&, y%, rng: rng = Selection
o = InputBox("Enter the old char (?)", "Switch last character")
If StrPtr(o) = 0 Then GoTo ext Else If Len(o) <> 1 Then GoTo msg
n = InputBox("Enter the new char (?)", "Switch last character")
If StrPtr(n) = 0 Then GoTo ext Else If Len(n) <> 1 Then GoTo msg

With CreateObject("VBScript.RegExp"): .Global = True: .Pattern = o & "($|s)"
If Not IsArray(rng) Then ReDim rng(1 To 1, 1 To 1): rng(1, 1) = Selection
For x = 1 To UBound(rng, 1): For y = 1 To UBound(rng, 2)
rng(x, y) = RTrim(.Replace(rng(x, y), n & " ")): Next: Next
Selection = rng
End With

MsgBox "Done", 64, "Auditor: Eslam Abdullah"
ext: Exit Sub
msg: MsgBox "Only one char", 16, "Auditor: Eslam Abdullah"
End Sub
'-----------------------------------------------------------------------------
Sub Trim_Spaces()
'Developer: Eslam Abdullah
Dim x&, y%, rng: rng = Selection

If Not IsArray(rng) Then ReDim rng(1 To 1, 1 To 1): rng(1, 1) = Selection
For x = 1 To UBound(rng, 1): For y = 1 To UBound(rng, 2)
rng(x, y) = Application.Trim(rng(x, y)): Next: Next
Selection = rng

MsgBox "Done", 64, "Auditor: Eslam Abdullah"
End Sub


ما هذا ، هذا ماذا
هذا هاخد الاسماء اللى قولتها فوق دى عندى فى شيت اكسيل كمثال
هحدد الخلايا اللى عايز اظبطها
ثم اضغط اختصار Alt+ F8

على طول هيظهر فورم فيه 3 اوامر منتظرين اوامر حضرتك وهما :
Switch_first : ودا عشان توحد اول حرف من كل كلمة فى النطاق المحدد
Switch_last : ودا عشان توحد اخر حرف من كل كلمة فى النطاق المحدد
Trim_Spaces : ودا عشان توحد المسافات الزائدة وتعملهم Trim

زى الصورة دى كدا


34lSy_2021-06-24_150141

حلو قول حلو ، طيب تمام

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

نفس الخطوات مع
Switch_first لكن التغيير هيكون فى بداية الكلمة وبس كدا

ولما تضغط
Run على Trim_Spaces دا مش هيطلب حاجه طريقه صحراوى هيعمل Trim لكلوا دفعه واحده

الهدف من الاوامر الظريفه اللطيفه دى هو توحيد حروف ومسافات اثناء ادخال البيانات
لاى سبب ممكن تكون اخدت البيانات دى من مصدر تانى وملكش ايد فيها وممكن ضعف فى النظام او سهو وقت التصميم او مدفعتش للحاج عبده البقال حق كيس الشيبسى
اياً كان المهم حصل فى نهاية المطاف انك محتاج طريقة لتوحيد تلك الاختلافات للوصول لنتيجة دقيقة
من هنا دى ادوات مساعدة لانقاذ الموقف ومن هنا برضوا اقول لكم من هذا المسرح العريض مسرح الصقر ذو العيون الثاقبة
 
[مرفق ملف عمل مع العلم أنه تم تحديث الملف بكود إضافى موضح بداخله]

أراكم بخير المرة القادمة إن شاء الله ، دمتم بخير اخوانى الأعزاء
كان معكم أخوكم فى الله إسلام عبدالله والسلام عليكم ورحمة الله وبركاته
 
 
  Switch chars.rar   تحميل rar مرات التحميل :(16)
الحجم :(19.014) KB


24-06-2021 04:57 مساء
مشاهدة مشاركة منفردة [1]
محمود ابو الدهب
مشرف على لغات برمجة والاكسيل
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 14
المشاركات : 1309
الدولة : مصر
الجنس : ذكر
تاريخ الميلاد : 4-7-1990
الدعوات : 59
يتابعهم : 6
يتابعونه : 275
قوة السمعة : 4570
موقعي : زيارة موقعي
عدد الإجابات: 7
 offline 
look/images/icons/i1.gif توحيد بداية ونهاية كل كلمة
تسلم يا سلم وجزاك الله خيرا
توقيع :محمود ابو الدهب
لى عظيم الشرف بالانضمام لهذا الصرح العظيم
وكم أتمنى من الله
ان يعيننى ويعلمنى من علمة الواسع فهو ولي ذالك وهو على كل شي قدير

تحياتى وتقدير للجميع  محمود ابوالدهب

24-06-2021 07:02 مساء
مشاهدة مشاركة منفردة [2]
YasserKhalil
مراقب عام
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10445
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 24
يتابعهم : 1
يتابعونه : 535
قوة السمعة : 36552
عدد الإجابات: 254
 offline 
look/images/icons/i1.gif توحيد بداية ونهاية كل كلمة
بارك الله فيك أخي الغالي إسلام ومشكور على الموضوع المميز ويا حبذا لو أرفقت ملف يكون مرجع للموضوع.

24-06-2021 07:34 مساء
مشاهدة مشاركة منفردة [3]
Eslam Abdullah
مشرف على لغات برمجة آخرى
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 03-10-2017
رقم العضوية : 852
المشاركات : 1580
الدولة : مصر
الجنس : ذكر
تاريخ الميلاد : 1-9-1995
الدعوات : 5
يتابعهم : 0
يتابعونه : 89
قوة السمعة : 10845
موقعي : زيارة موقعي
عدد الإجابات: 6
 offline 
look/images/icons/i1.gif توحيد بداية ونهاية كل كلمة
انت اللى تسلم على مرورك احوووده biggrin2
مشكور مرورك استاذى الغالى ياسر biggrin2
الموضوع دا انت ليك الفضل فيه برضوا انت من علمنى اوبجيكت الريجيكس وحتى فكرة الموضوع نابعه منك انا بس تلميذ حط تاتش بسيط على كود استاذه ، يبقى كدا انت اللى تحط ملف biggrin2
الصراحه لولا ضيق الوقت كنت ظبط كتابة الموضوع عن كدا ودعمته بملف بس انا بحاول قدر الامكان لما قابلتنى مشكله عامه اشارك حلها مع الناس من باب نشر العلم

24-06-2021 09:20 مساء
مشاهدة مشاركة منفردة [4]
ali mohamed ali
مشرف على منتدى الاكسيل
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 20-11-2017
رقم العضوية : 1757
المشاركات : 1766
الدولة : مصر
الجنس : ذكر
الدعوات : 2
يتابعهم : 0
يتابعونه : 68
قوة السمعة : 9632
عدد الإجابات: 46
 offline 
look/images/icons/i1.gif توحيد بداية ونهاية كل كلمة
احسنت استاذ اسلام بارك الله فيك وزادك الله من فضله
توقيع :ali mohamed ali
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]
ساهم دائماً فى حل أى مشكلة او أستفسار لديك مع إضافة رد بشكره
أو دعوة لمن قدم اليك المساعدة,فالجميع هنا يعمل على مساعدة
 الاخرين لوجه الله وان تحتسب له اجر عند الله

25-06-2021 01:45 صباحا
مشاهدة مشاركة منفردة [5]
محمد الدسوقى
خبير
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 22-08-2017
رقم العضوية : 47
المشاركات : 827
الجنس : ذكر
تاريخ الميلاد : 14-10-1973
الدعوات : 79
يتابعهم : 9
يتابعونه : 765
قوة السمعة : 8651
عدد الإجابات: 8
 offline 
look/images/icons/i1.gif توحيد بداية ونهاية كل كلمة
بارك اله فيك استاذ / اسلام
وزادكم الله علما وفضلا

27-06-2021 11:45 صباحا
مشاهدة مشاركة منفردة [6]
mahmoud ayad
عضو فعال
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 15-03-2018
رقم العضوية : 4874
المشاركات : 194
الجنس : ذكر
تاريخ الميلاد : 29-5-1982
الدعوات : 1
يتابعهم : 8
يتابعونه : 4
قوة السمعة : 469
 offline 
look/images/icons/i1.gif توحيد بداية ونهاية كل كلمة
بجد موضوع جميل جدا تسلم ايدك مع اني مش فاهم حاجه من الطريقه ازاي عملتها بس باذن الله احاول افهمها ادعيلي




الكلمات الدلالية
توحيد ، بداية ، ونهاية ، الكلمة ،


 










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

الساعة الآن 10:01 صباحا