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

كود count


ghobashi

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

السلام عليكم 

اريد المساعدة فى كود 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))

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

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

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

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

:fff: :fff: :fff: :fff: :fff: :fff: :fff: :fff:

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

  • 1 month later...

السلام عليكم

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

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

 

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

 

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

 

 

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

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

  • 4 months later...

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information