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

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

قام بنشر

السلام عليكم 

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

بمعنى ان الخلية a1 تحتوى على اسم "احمد على عثمان" والخلية a2 تحتوى على "هشام مؤمن احمد" 

وانا اريد عمل count للقيمة "احمد" فقط 

ارجوا المساعدة 

New Microsoft Excel Worksheet.rar

قام بنشر

تفضل أخى

الحل الأول

هذه الدالة

=COUNTIF(A:A;"*احمد*")

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

 

New Microsoft Excel Worksheet.rar

  • Like 1
قام بنشر

الحل الثانى

دالة معرفة

تستخدم لايجاد عدد مرات تكرار اسم احمد فقط حتى لو تكرر الاسم أكثر من مرة فى الخلية الواحدة

Function ragab(rng As Range) As Integer
For Each cl In rng
arr = Split(Trim(cl))
For i = 0 To UBound(arr)
If arr(i) = "احمد" Then
T = T + 1
End If
Next
Next
ragab = T
End Function

وتستخدم كالآتى

=ragab(A1:A100)

New Microsoft Excel Worksheet1.rar

  • Like 2
قام بنشر

الحل الثالث

دالة معرفة تستخدم لايجاد عدد مرات تكرار اسم اسم تريدة ( يكتب فى معطيات الدالة )

Function ragab(rng As Range, nam As String) As Integer
For Each cl In rng
arr = Split(Trim(cl))
For i = 0 To UBound(arr)
If arr(i) = nam Then
T = T + 1
End If
Next
Next
ragab = T
End Function

وتستخدم كالآتى

=ragab(A1:A100;"احمد")

حيث يمكنك كتابة أى اسم آخر تريدة غير الاسم احمد داخل الدالة

 

New Microsoft Excel Worksheet2.rar

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

بارك الله فيك استاذي الحبيب /استاذ رجب

وجعل الله عملك في ميزانك اللهم امين

اولاً : وبخصوص التكرار لي طلب

وهو كيف اجعل عمود كامل وليكن a او b او c ....الخ

لا يمكن ادخال بيانات مكررة سواء اكانت هذه البيانات اسماء او ارقا م.

 

ثانياً : وبعد اذنك استاذي الكريم وهذا اول مشاركة لي في الاجابة على الاسئلة

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

بالاضافة زدت عدد الخلايا الى خمسين الف بدلاُ من 100فقط

وانتظر تقييمك استاذي الكريم

=ragab(A1:A50000;b2)

New Microsoft Excel Worksheet2.rar

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

أخى الفاضل / محمد

بعد أفضل تحية

بالنسبة للطلب الاول جرب الملف المرفق

 

أما بخصوص ثانيا

فإن التعديل الذى قمت أنت بعملة صحيح وجميل جدا تسلم ايديك

ويؤكد ما قلته أنا سابقا أن المنتدى سوف يكسب عضو متميز فى القريب العاجل

 

منع تكرار الاسم (2).rar

قام بنشر (معدل)
بالنسبة للطلب الاول جرب الملف المرفق

 

السلام عليكم استاذي الحبيب / استاذ رجب

رائـــــــــــــــــ :fff: :fff: :fff:  :fff:ـــــــــــــــع

هذا هو الذي ببحث عليه بالضبط

جزاك الله خيراً استاذي الفاضل

وبارك الله فيك

وبعتذر لو امكن الكود او الطريقة لاني محتاجه ضروري

أما بخصوص ثانيا

فإن التعديل الذى قمت أنت بعملة صحيح وجميل جدا تسلم ايديك

ويؤكد ما قلته أنا سابقا أن المنتدى سوف يكسب عضو متميز فى القريب العاجل

بارك الله فيك أخي الفاضل هذه شهادة اعتز بها جداً

وما قمت به ما إلاَّ نتاج تعليمكم لنا

تم تعديل بواسطه محمد ابو البـراء
قام بنشر (معدل)

استاذنا العملاق / رجب جاويش

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

تقبل تحياتي

جزاك الله خيرا

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

أخى الفاضل / محمد

هذا هو الكود المستخدم

وهو يوضع فى حدث الورقة

Private Sub Worksheet_Change(ByVal Target As Range)
Dim LR As Integer, cl As Range, cll As Range
LR = [A1000].End(xlUp).Row
'==========================================================
If Target.Count > 1 Then Exit Sub
If Target.Column <> 1 Or Target = "" Then Exit Sub
For Each cl In Range("A2:A" & LR)
If Application.WorksheetFunction.CountIf(Range(Cells(cl.Row, 1), Cells(LR, 1)), cl) > 1 Then
For Each cll In Range("A2:A" & LR - 1)
If Target = cll Then
arr = arr & cll.Address & ","
End If
Next
m = MsgBox("هذا الاسم مكرر فى الخلية" & Chr(10) & arr & Chr(10) & "هل تريد السماح بتكرار هذا الاسم", vbYesNo, "اسم مكرر")
If m = vbYes Then Exit Sub
Target = "": Target.Select: Exit Sub
End If
Next
End Sub

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

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

 اشكرك جزيل الشكر استاذي الحبيب /استاذ رجب

الكود عمل وبنجاح ولله الحمد

بس طلب بسيط ماذا لو اردت ان اجعل ها الكود يعمل في عمود أخر

كـــ عمود b  او عمود c او .....الخ

واعتذر لك على تعبك الكبير معي فسامحني :fff: :fff: :fff: :fff: :fff:

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

أخى الفاضل محمد

السطر التالى غير الحرف الخاص بالعمود A  الى الى عمود آخر تريده

LR = [A1000].End(xlUp).Row

السطر التالى

IIf Target.Column <> 1 Or Target = "" Then Exit Sub

غير الرقم 1 الى رقم العمود الذى تريده

 

فى السطرين التالىين


For Each cl In Range("A2:A" & LR)
For Each cll In Range("A2:A" & LR - 1)

غير الحرف الخاص بالعمود A  الى الى عمود آخر تريده

 

السطر التالى

If Application.WorksheetFunction.CountIf(Range(Cells(cl.Row, 1), Cells(LR, 1)), cl) > 1 Then

غير الرقم 1 فى الجزء

Cells(cl.Row, 1), Cells(LR, 1))

الى رقم العمود الذى تريده

  • 1 month later...
قام بنشر (معدل)

السلام عليكم

الرجاء التعديل لعد الحروف المتكررة فى الخلية الواحدة او الارقام او حتى العلامات الحسابية  على ان يعد كل حرف ورقم حتى ولو كان غير متكرر مثلا لو وجد حرف a مرة واحدة  يكتب رقم 1 وهكذا

ارجو ان اكون وضحت فكرتى

 

وسلامى الى الاستاذ العلامة الاستاذ / رجب

 

كما فى المثال المرفق

 

 

عدد الكلمات والحروف والارقام فى الخلية.rar

تم تعديل بواسطه MR.EXCEL
  • 4 months later...

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