listview detanımlı bir diziyi göstermek mümkün mü?

Katılım
19 Haziran 2007
Mesajlar
27
Excel Vers. ve Dili
excel 2003 türkçe
birlistboxda süzme işlemi yapıyorum ama bunu listviewde nasıl gösterebilirim.

örnekde göreceğiniz gibi belirlenen aralığı myarr1 dizisine alıyor sonra onun üzerinde süzme işlemlerini yapıp myarr3 e bunu yerleştiriyor. en sonda

listbox1.list=myarr3

diyor ve işlem bitiyor işte benim takıldığım nokta burada en son işlemde bu tanımlı işlemi bitmiş myarr3 dizisini listview e nasıl aktarabilirim
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Userformunuza (örn.listbox'ın altına) bir adet listview nesnesi ekleyin. Adını "listview1" yapın.

Kodunuzu aşağıdaki gibi revize edin.

Kod:
 Sub yenile(myarr2)
Dim myarr3
For x = UBound(myarr2) To 1 Step -1
 If myarr2(x, 1) = "" Then
    myarr2(x, 2) = ""
    myarr2(x, 3) = ""
 End If
Next
'diziyi yeniden sırala
For x = 1 To UBound(myarr2) - 1
    For y = x + 1 To UBound(myarr2)
        If myarr2(x, 1) > myarr2(y, 1) Then
            temp = myarr2(x, 1)
            myarr2(x, 1) = myarr2(y, 1)
            myarr2(y, 1) = temp
            temp = myarr2(x, 2)
            myarr2(x, 2) = myarr2(y, 2)
            myarr2(y, 2) = temp
            temp = myarr2(x, 3)
            myarr2(x, 3) = myarr2(y, 3)
            myarr2(y, 3) = temp
        End If
    Next y
Next
'yeni diziyi boyutlandırma
For x = 1 To UBound(myarr2)
    If myarr2(x, 1) = "" Then
        ReDim myarr3(1 To x, 1 To 3)
        Exit For
    End If
Next x
'yeni diziye aktarma
For x = 1 To UBound(myarr3)
        myarr3(x, 1) = myarr2(x, 1)
        myarr3(x, 2) = myarr2(x, 2)
        myarr3(x, 3) = myarr2(x, 3)
Next x
ListBox1.List = myarr3
'---EKLENEN KISIM -----------------
With ListView1
    .View = lvwReport
    .ListItems.Clear
    .ColumnHeaders.Clear
    .FullRowSelect = True
    .Gridlines = True
    .Sorted = False
    .LabelEdit = lvwManual
    With .ColumnHeaders
        .Add , , "S.No", 20 '
        .Add , , "Adı Soyadı", 200
        .Add , , "Araç", 100 '
    End With
    For i = 1 To UBound(myarr3) - 1
        .ListItems.Add , , myarr3(i, 1)
        .ListItems(i).ListSubItems.Add , , myarr3(i, 2)
        .ListItems(i).ListSubItems.Add , , myarr3(i, 3)
    Next i
End With
'-------------------------
End Sub
 
Katılım
19 Haziran 2007
Mesajlar
27
Excel Vers. ve Dili
excel 2003 türkçe
eline sağlık kardeş...
 
Üst