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

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

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

دليل شامل لاستخدام أداة ListView في Excel VBA: من الإعداد إلى التخصيص المتقدم

ملف كامل عن أداة الـ ListView في Excel VBA 

 تعتبر أداة الـ ( ListView ) في Excel VBA تُستخدم لعرض البيانات في شكل جدول أو قائمة داخل نموذج (UserForm). تُعتبر هذه الأداة مفيدة لعرض البيانات بشكل منظم وسهل القراءة، حيث يمكنك إضافة أعمدة وصفوف وعناصر مختلفة مثل الصور والنصوص.

 


 إضافة أداة الـ ListView إلى النموذج (UserForm)

1. فتح محرر VBA: اضغط على `Alt + F11` لفتح محرر VBA.

2. إضافة UserForm: من القائمة، اختر `Insert` ثم `UserForm`.

3. إضافة ListView: من صندوق الأدوات (Toolbox)، اختر أداة الـ ListView. إذا لم تكن الأداة موجودة، يجب إضافتها يدويًا:

   - انقر بزر الماوس الأيمن على صندوق الأدوات واختر `Additional Controls`.

   - من القائمة، ابحث عن `Microsoft ListView Control` وقم بتفعيله.

 خصائص الـ ListView الرئيسية

- View: يحدد كيفية عرض البيانات (مثل `lvwReport` لعرض البيانات في شكل جدول).

- ColumnHeaders: يحدد ما إذا كانت العناوين الأعمدة معروضة أم لا.

- FullRowSelect: يحدد ما إذا كان يمكن تحديد الصف بأكمله أم لا.

- Gridlines: يحدد ما إذا كانت الخطوط الشبكية معروضة أم لا.

- MultiSelect: يحدد ما إذا كان يمكن تحديد أكثر من عنصر في الوقت نفسه.

 إعداد الـ ListView

لإعداد الـ ListView، يمكنك استخدام الكود التالي في حدث `UserForm_Initialize`:

 Private Sub UserForm_Initialize()

    ' إعداد خصائص الـ ListView

    With ListView1

        .View = lvwReport

        .ColumnHeaders.Add , , "العمود 1", 50

        .ColumnHeaders.Add , , "العمود 2", 50

        .ColumnHeaders.Add , , "العمود 3", 50

        .FullRowSelect = True

        .Gridlines = True

    End With

   

    ' إضافة بيانات إلى الـ ListView

    Dim item As ListItem

    Set item = ListView1.ListItems.Add(, , "القيمة 1")

    item.SubItems(1) = "القيمة 2"

    item.SubItems(2) = "القيمة 3"

   

    Set item = ListView1.ListItems.Add(, , "القيمة 4")

    item.SubItems(1) = "القيمة 5"

    item.SubItems(2) = "القيمة 6"

End Sub

 التعامل مع الأحداث

يمكنك التعامل مع الأحداث المختلفة للـ ListView مثل النقر على عنصر أو تحديده:

    Private Sub ListView1_Click()

    ' الحصول على العنصر المحدد

    If ListView1.SelectedItem Is Nothing Then Exit Sub

    MsgBox "تم النقر على: " & ListView1.SelectedItem.Text

End Sub

  إضافة صور إلى الـ ListView

يمكنك إضافة صور إلى الـ ListView باستخدام أداة الـ ImageList:

1. أضف أداة الـ ImageList إلى النموذج.

2. قم بتحميل الصور في الـ ImageList.

3. قم بربط الـ ImageList بالـ ListView.

 

    ' Private Sub UserForm_Initialize()

    ' إعداد ImageList

    With ImageList1

        .ListImages.Add , "صورة1", LoadPicture("مسار الصورة 1")

        .ListImages.Add , "صورة2", LoadPicture("مسار الصورة 2")

    End With

   

    ' ربط ImageList بالـ ListView

    ListView1.SmallIcons = ImageList1

   

    ' إضافة عناصر مع صور

    Dim item As ListItem

    Set item = ListView1.ListItems.Add(, , "عنصر 1", "صورة1")

    item.SubItems(1) = "وصف 1"

   

    Set item = ListView1.ListItems.Add(, , "عنصر 2", "صورة2")

    item.SubItems(1) = "وصف 2"

End Sub

 

  التخصيص المتقدم

- تغيير ألوان الخلفية والنصوص: يمكنك تغيير ألوان الخلفية والنصوص للعناصر المحددة أو غير المحددة.

- تصفية البيانات: يمكنك تصفية البيانات المعروضة في الـ ListView بناءً على معايير محددة.

- ترتيب البيانات: يمكنك ترتيب البيانات في الـ ListView بناءً على الأعمدة.

 مثال كامل

    

   Private Sub UserForm_Initialize()

    ' إعداد ListView

    With ListView1

        .View = lvwReport

        .ColumnHeaders.Add , , "الاسم", 100

        .ColumnHeaders.Add , , "العمر", 50

        .ColumnHeaders.Add , , "البلد", 100

        .FullRowSelect = True

        .Gridlines = True

    End With

   

    ' إضافة بيانات

    Dim item As ListItem

    Set item = ListView1.ListItems.Add(, , "أحمد")

    item.SubItems(1) = "25"

    item.SubItems(2) = "مصر"

   

    Set item = ListView1.ListItems.Add(, , "محمد")

    item.SubItems(1) = "30"

    item.SubItems(2) = "السعودية"

End Sub

 

Private Sub ListView1_Click()

    If ListView1.SelectedItem Is Nothing Then Exit Sub

    MsgBox "الاسم: " & ListView1.SelectedItem.Text & vbCrLf & _

           "العمر: " & ListView1.SelectedItem.SubItems(1) & vbCrLf & _

           "البلد: " & ListView1.SelectedItem.SubItems(2)

 

End Sub

 


 وفى النهاية

تعتبر أداة الـ ListView في Excel VBA تُعتبر أداة قوية لعرض البيانات بشكل منظم وسهل القراءة. يمكنك تخصيصها بشكل كبير لتلبي احتياجاتك الخاصة، سواء كان ذلك لعرض البيانات البسيطة أو المعقدة.

 

 

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