اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

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

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

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

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