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

كيف اعمل قائمة مثل هذه في الاكسل


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

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

اخواني الكرام اريد ان اضع جدول لاصناف السلع يحتوي اسم السلعة وثمن شرائها وثمن البيع وغيرها من المعلومات

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

812180856.jpg

واريد ان يظهر بالمقابل جميع البيانات المتعلقة بالسلعة وشكرا

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

الأخ الفاضل / الأستاذ محمد يحياوى

صاحب الجديد والمفيد دائما

الف تحية على هذه الفكرة الرائعة

والتى تعلمت منها معلومات جميلة

والتى استغرقت منى وقت لانجاز قائمة مثلها موجودة فى الملف المرفق

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

ولكن لى طلب بسيط بعد إذنك

فى الكود المستخدم أرجو توضيح السطرين الاول والثانى والمتعلقين بتحديد المتغيرين yah و med ولماذا تم التعبير عنهما بهذه الطريقة ( private )


Private yah As String

Private med As String

Private Sub TextBox1_Change()

    yah = TextBox1.Text

    Call yah_med

End Sub

Sub yah_med()

    Dim i As Integer

    i = 3

    ListBox1.Clear

	    While Cells(i, 3).Value <> Empty

		    med = Cells(i, 3).Value

		    If UCase(Left(med, Len(yah))) = UCase(yah) Then

			    ListBox1.AddItem Cells(i, 3)

		    End If

		    i = i + 1

	    Wend

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Call yah_med

End Sub

فلترة حسب الطلب تجربة.rar

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

ردا على طلب اخي احمد

و ارجوا ان يكون طلب ايضا اخي رجب هذا الكود يحتوي على الشرح

بالنسبة لـ private تصريح خاص و يمكن استعمال Dim


Option Explicit

Dim yah As String

Dim med As String

' تصريح بالمتغيرات لاننا سنستعملها في جميع الاكواد

Private Sub TextBox1_Change()

	yah = TextBox1.Text

'  yah تعريف مربع النص باسم

	Call yah_med

'  استدعاء الماكروyah_med عند تغير النص

End Sub

Sub yah_med()

	Dim i As Integer

	i = 3

'  3 حتى نبدا الاختيار من السطر

	ListBox1.Clear

' اخلاء القائمة قبل بدأ التصفية

		While Cells(i, 3).Value <> Empty

' بداية الحلقة لان العود غير محدود

			med = Cells(i, 3).Value

'  C و هي قيم القائمة المصدر و العمود

			If (Left(med, Len(yah))) = (yah) Then

'  Len دالة لحسابة عدد حروف كلمة

'  Left  دالة لاستخراج الاحرف للجزء الايسر من الجملة بحسب عدد الحروف

				ListBox1.AddItem Cells(i, 3)

'  اذا ستظهر في القائمة جميع العناصر التي يتوفر فيها الشرط

			End If

			i = i + 1

'  المتغير يضيف صف

		Wend

'  نهاية الحلقة

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Call yah_med

'استدعاء الماكرو عند تغير التحديد

End Sub

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

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