JavaScript is not enabled!...Please enable javascript in your browser

جافا سكريبت غير ممكن! ... الرجاء تفعيل الجافا سكريبت في متصفحك.

-->
الصفحة الرئيسية

دليل كامل| البحث عن البيانات في كل اوراق العمل VBA Excel وعرض النتائج في ListBox خطوة بخطوة


 دليل كامل| البحث عن البيانات في كل اوراق العمل VBA Excel وعرض النتائج في ListBox خطوة بخطوة



تعتبر ميزة البحث في البيانات وعرض النتائج في قائمة منسدلة من أكثر الميزات المفيدة في تطبيقات إكسيل. باستخدام VBA Excel ، يمكننا إنشاء واجهة مستخدم بسيطة وفعالة تتيح للمستخدمين البحث عن البيانات بسرعة وسهولة وعرض النتائج في قائمة اختيار. وفى هذا المقال التعليمى سنتمكن من البحث عن البيانات فى كل اوراق العمل واضافة النتائج الى ليست بوكس

استخدام ListBox لعرض البيانات المستخرجة من إكسيل

الخطوات:

1.      إنشاء UserForm:

o        افتح محرر Visual Basic . ( ALT+ F11)

o        ادرج UserForm جديد (Insert > UserForm).

o        أضف إلى هذا النموذج:

§         TextBox: لكتابة نص البحث.

§         ListBox: لعرض نتائج البحث.

§         CommandButton: لبدء عملية البحث.

2.      كتابة كود VBA:

o        اربط زر "بحث" بحدث Click.

o        اكتب الكود التالي، مع تعديل أسماء الأوراق والمدى حسب بياناتك:

Private Sub CommandButton2_Click()

Dim ws As Worksheet

Dim searchTerm As String

Dim lastrow As Long

Dim i As Long

Dim r As Long

 Dim found As Boolean 

 searchTerm = TextBox1.Value

 ListBox1.Clear

 For Each ws In ThisWorkbook.Worksheets

  lastrow = ws.Cells(Rows.Count, "A").End(xlUp).Row

  For i = 2 To lastrow

  r = Me.ListBox1.ListCount

    If InStr(1, ws.Cells(i, 1).Value, searchTerm, vbTextCompare) > 0 Then

     With ListBox1

      .AddItem

       .List(r, 0) = ws.Cells(i, 1).Value

       .List(r, 1) = ws.Cells(i, 2).Value

        .List(r, 2) = ws.Cells(i, 3).Value

         .List(r, 3) = ws.Cells(i, 4).Value

           .List(r, 4) = ws.Cells(i, 5).Value

            .List(r, 5) = ws.Name

  found = True


End With

End If

Next i

 Next ws

End Sub



 

 

 البحث عن البيانات فى ورقة عمل محددة

3.      شرح الكود:

o        ws: يمثل ورقة العمل التي تحتوي على البيانات.

o        searchTerm: يحفظ النص الذي أدخله المستخدم في TextBox.

o        lastRow: يحدد آخر صف يحتوي على بيانات في العمود الأول (يمكنك تعديله للبحث في أعمدة أخرى).

o        i: متغير عداد يستخدم في الحلقة.

o        InStr: دالة تستخدم للبحث عن نص داخل نص آخر.

o        ListBox1.AddItem: تضيف النتيجة إلى قائمة ListBox.

4.      عرض UserForm:

o        من خلال زر أو أي عنصر تحكم آخر في ورقة العمل، استدعِ عرض UserForm:

UserForm1.Show

تعديلات إضافية:

·         البحث في عدة أعمدة: قم بتعديل شرط If ليشمل البحث في أعمدة متعددة.

·         فرز النتائج: استخدم طريقة Sort لترتيب النتائج حسب معيار معين.

·         تخصيص UserForm: قم بتغيير لون الخلفية، الخطوط، الحجم، وغيرها.

·         إضافة ميزات أخرى: يمكنك إضافة ميزات مثل البحث عن قيم دقيقة، أو البحث عن قيم تبدأ بحرف معين، أو البحث عن تاريخ محدد.

ملاحظات:

·         تأكد من أن أسماء الأوراق والمدى في الكود تتطابق مع بياناتك.

·         يمكنك تخصيص الكود ليتناسب مع احتياجاتك المحددة.

·         للحصول على نتائج أفضل، قم بإنشاء مؤشر للبحث (index) لتسريع عملية البحث في مجموعات بيانات كبيرة.

.

باستخدام هذا الشرح وكود VBA، يمكنك إنشاء نماذج بحث قوية وفعالة في إكسيل لتسهيل عملك وتحسين إنتاجيتك.

 

لتحميل ملف العمل

قد يعجبك ايضا            

الاسمبريد إلكترونيرسالة