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

مطلوب اظهار الأسماء التى تحتوى على حروف متطابقة


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

هل من طريقة تجعل الأسماء تظهر بمجرد كتابة الحروف الأولى من الإسم فى خانة العميل ؟

بمعنى : فى خانة اسم العميل التى باللون الأصفر انا عاملها قائمة منسدلة وتحوى الأسماء الموجودة على اليسار فحينما اكتب اسم العميل فى العمود الأصفر هل من طريقة تظهر الأسماء التى تحتوى الحروف المتطابقة مثلا حينما اكتب حرف السين يظهر كل الأسماء اللى بتبدأ بحرف السين المتوفرة فى الجدول وكلما اضفت حرف يتم انقاص الخيارات المتوفرة حتى ينتهى للعميل المطلوب

New Microsoft Office Excel Worksheet.rar

تم تعديل بواسطه دغيدى
رابط هذا التعليق
شارك

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

ويمكن تحديد الشخصية أكثر عن طريق زيادة الأحرف كما في المثال التالي

البحث عن العملاء عن طريق التنسيق الشرطي.rar

البحث عن العملاء عن طريق التنسيق الشرطي 2.rar

تم تعديل بواسطه mahmoud-lee
رابط هذا التعليق
شارك

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

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

السلام عليكم

الاستاذ الحبيب محمود علي

بالامكان الكود يكون في حدث الورقة في حدث "TextBox1_Change"

للبحث مباشره كالتالي


Private Sub TextBox1_Change()

Dim LastRow As Long

LastRow = Range("c65535").End(xlUp).Row

If TextBox1.Text <> "" Then

Range("$a$4:$o$" & LastRow).AutoFilter Field:=3, Criteria1:="=" & TextBox1.Text & "*", Operator:=xlOr

Else

Range("$a$4:$o$" & LastRow).AutoFilter Field:=3

End If

End Sub

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

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

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

السلام عليكم

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

لانها تحدد المدى عند البحث بمعنى تعيق عملية البحث


Range("a4:o4").Select

    Selection.AutoFilter

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

شكرا أستاذي ومعلمي علي هذه الملاحظات فهنا تكمن فائدة الأستاذ التصحيح المستمر والمراجعة لتلاميذة

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

والله أساتذه يا أساتذة الاخ ابو نصار والاخ محمود

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

جزاكم الله خيرا ونفع بكم الأمة الإسلامية

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

عذرا أساتذتنا الكرام

أعتقد فعلا أن طالب السؤال الأخ وائل يقصد شيء آخر غير ما تم تنفيذه

الأخ وائل قام بوضع قائمة منسدلة في العمود الأصفر وعند فتح القائمة المنسدلة تظهر لدينا أسماء عملاء وهو يرغب بما يلي:

عند الرغبة بتسجيل اسم عميل وتدوين ملاحظاته وما غير ذلك وهو يرغب عندما يكتب الحرف الاول من اسم العميل في الخلية في العمود الأصفر ( اسم العميل ) ((( وهذا العمود يحتوي مسبقا على قائمة منسدلة موجودة في كل خلية من العمود ))) يظهر لديه العميل الذي يبدأ اسمه بالحرف مباشرة دون الحاجة لفتح القائمة وإختيار اسم العميل من القائمة لأن فتح القائمة يأخذ وقتا طويلا إذا كانت الأسماء كثيرة

أي أنه هنا يحتاج إلى إدخال اسم عميل جديد من القائمة المحددة مسبقا ولا يحتاج للبحث عن اسم عميل محدد لعرض بياناته

الكود السابق يقوم بعرض العميل وبياناته ولكنه لا يقوم باختيار اسم العميل عند تسجيل عميل جديد

أرجو أن يكون هذا هو المطلوب

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

السلام عليكم

جرب هذه الاكواد

مجرد النقر مرتين في العمود الملون بالاصفر

تظهر قائمة وبها تكتب الاسم المراد يتحفز مجرد البحث

هذا الكود في حدث الورقة


Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Not Intersect(Target, [C5:C101]) Is Nothing Then

Call AD_Ali(ActiveSheet, Target)

Cancel = True

End If

End Sub

Private Sub E_Ali()

On Error Resume Next

Dim obj_A As OLEObject

For Each obj_A In ActiveSheet.OLEObjects

	 If obj_A.progID = "Forms.ComboBox.1" Then obj_A.Delete

Next obj_A

End Sub

Private Sub M_Comb_Click()

With M_Comb

ActiveCell.Value = .Value

End With

E_Ali

End Sub

وهذا الكود في مودويل

Option Explicit

Option Base 1

Sub AD_Ali(Sh As Object, Target As Range)

On Error Resume Next

With Sh

.Range(.Cells(5, 13).Address, .Cells(.Cells(Rows.Count, 13).End(xlUp).Row, 13).Address).Name = "M_D"

End With

With Target

With ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", _

    Link:=False, DisplayAsIcon:=False, Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)

    .Name = "M_Comb"

    .ListFillRange = "M_D"

End With

End With

End Sub

جرب وبلغنى بالنتائج

Ali_Combo.rar

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

بعد اذن أخي الحبيب : / عباد

جرب الطريقة التالية

بالضغط مرتين على إحدى خلايا العمود الاصفر تظهر لك فورم تحتوي على مربع نص

أكتب الحرف الأول للاسم ثم الثاني و هكذا حتي تصل للاسم المطلوب

بعدها تضغط على أي خلية اخري ليختفي الفورم

مثال.rar

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

  • 2 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