فرضا لديك جدول بينات تريد ان يضهر كله وبتنسيقاته في ListView
هذا الكود مستقى من احد الاكواد الخبورية لعمل المطلوب
Private Sub UserForm_Initialize()
Dim I, CEL, Y
Set sh = Feuil1
LastRow = sh.Cells(sh.Range("A1").SpecialCells(xlCellTypeLastCell).Row + 1, 1).End(xlUp).Row
LastColumn = sh.Cells(1, sh.Range("A1").SpecialCells(xlCellTypeLastCell).Column + 1).End(xlToLeft).Column
With Me.ListView1
With .ColumnHeaders
.Clear
For I = 1 To 7
.Add , , sh.Cells(1, I), sh.Cells(1, I).Width
Next
End With
.View = lvwReport
.Gridlines = True
.FullRowSelect = True
.HideColumnHeaders = False
.LabelEdit = 1
End With
ListView1.ListItems.Clear
With Feuil1
Set rng = sh.Range(sh.Range("a2"), sh.Cells(LastRow, 1))
For Each CEL In rng
With ListView1
.ListItems.Add , , CEL
For Y = 2 To LastColumn
.ListItems(.ListItems.Count).ListSubItems.Add , , sh.Cells(CEL.Row, Y)
Next
End With
Next
End With
End Sub
هذا الكود لجلب محتويات جدول من 7 اعمدة وجميع الصفوف التي تحوي بينات في نطاق الاعمدة السبع
حيث اسماء رؤس الاعمدة في اليست هي نفسها اسماء رؤس الاعمدة في الجدول
عرض (Width)الاعمدة في اليست هي نفس العرض في الجدول
للزيادة او انقاص في عدد الاعمدة غير في الحلقة التكرارية مثلا لجدول من 10 اعمدة نغي For I = 1 To 7 الىFor I = 1 To 10
ارجو ان تكون الفكرة قد وصلت