• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Listview eleman ekleme

Katılım
8 Temmuz 2006
Mesajlar
144
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 Tr
Merhaba arkadaşlar;

http://www.dosya.tc/server4/1bfkc8/ornek.xls.html

linkindeki örnek dosyada form1 açılıyor ve listview'in 1. kolonuna Veriler sayfasındaki B sutunundaki veriler listeleniyor.

1) 2. kolonuna E sutunundaki bilgilerin 3. kolona F sutunundaki bilgilerin gelmesini istiyorum.

listview'e çift tıklanınca form2 açılıyor ve listview'in 1. kolonuna form başlığı ile b5 hücresindeki veri eşleşen sayfaları listeliyor.

2) 2. kolonuna bu sayfalardaki D5 hücresindeki bilgilerin, 3. kolona D6 hücresindeki bilgilerin gelmesini istiyorum

Yani form1 de 1. Sınıflar'ı çift tıkladığım zaman form2 de 1A 1B ... diye listeleniyor.
1A sınıfındaki Erkek Öğrenci sayısını 2. Kolona Kız öğrenci Sayısını 3. Kolana Eklemek istiyorum.

Teşekkür ederim.
 
listview'den anlayan yok mu arkadaşlar.
 
Merhaba
Kodlarınızdaki ilgili bölümleri aşağıdaki gibi değiştirip, deneyin.

Kod:
 Private Sub ListView1_DblClick()
On Error Resume Next
UserForm2.Show 0
UserForm2.Caption = Mid(UserForm1.ListView1.SelectedItem, 1, 1)

With UserForm2.ListView1
.ColumnHeaders.Clear
.ListItems.Clear
.View = lvwReport
.Gridlines = True
.FullRowSelect = True
.MultiSelect = True
.ListItems.Clear
.ColumnHeaders.Add , , "Sınıf", "150"
.ColumnHeaders.Add , , "Erkek Öğrenci", "100"
.ColumnHeaders.Add , , "Kız Öğrenci", "100"
End With


For i = 1 To Sheets.Count
        If Sheets(i).Name <> "Taslak" And Sheets(i).Name <> "Veriler" And Sheets(i).Name <> "Grafik" Then
            If Sheets(i).Range("b5") = UserForm2.Caption Then
            UserForm2.ListView1.ListItems.Add , , Sheets(i).Name
[COLOR="Red"]            With UserForm2.ListView1
            y = .ListItems.Count
                .ListItems(y).ListSubItems.Add , , Sheets(i).[d5]
                .ListItems(y).ListSubItems.Add , , Sheets(i).[d6]
                End With[/COLOR]
            End If
        End If
    Next
End Sub

Kod:
Private Sub UserForm_Initialize()
On Error Resume Next
With ListView1
.ColumnHeaders.Clear
.ListItems.Clear
.View = lvwReport
.Gridlines = True
.FullRowSelect = True
.MultiSelect = True
End With

ListView1.ColumnHeaders.Add , , "Sınıf", "150"
ListView1.ColumnHeaders.Add , , "Erkek Öğrenci", "100"
ListView1.ColumnHeaders.Add , , "Kız Öğrenci", "100"
[COLOR="Red"]For b = 3 To [COLOR="RoyalBlue"]Sheets("Veriler").[/COLOR]Cells(Rows.Count, 1).End(3).Row

ListView1.ListItems.Add , , Sheets("Veriler").Cells(b, 2)
y = ListView1.ListItems.Count
ListView1.ListItems(y).ListSubItems.Add , , [COLOR="RoyalBlue"]Sheets("Veriler").[/COLOR]Cells(b, 5)
ListView1.ListItems(y).ListSubItems.Add , , [COLOR="RoyalBlue"]Sheets("Veriler").[/COLOR]Cells(b, 6)
Next[/COLOR]
End Sub
 
Son düzenleme:
Merhaba
Kodlarınızdaki ilgili bölümleri aşağıdaki gibi değiştirip, deneyin.

Kod:
 Private Sub ListView1_DblClick()
On Error Resume Next
UserForm2.Show 0
UserForm2.Caption = Mid(UserForm1.ListView1.SelectedItem, 1, 1)

With UserForm2.ListView1
.ColumnHeaders.Clear
.ListItems.Clear
.View = lvwReport
.Gridlines = True
.FullRowSelect = True
.MultiSelect = True
.ListItems.Clear
.ColumnHeaders.Add , , "Sınıf", "150"
.ColumnHeaders.Add , , "Erkek Öğrenci", "100"
.ColumnHeaders.Add , , "Kız Öğrenci", "100"
End With


For i = 1 To Sheets.Count
        If Sheets(i).Name <> "Taslak" And Sheets(i).Name <> "Veriler" And Sheets(i).Name <> "Grafik" Then
            If Sheets(i).Range("b5") = UserForm2.Caption Then
            UserForm2.ListView1.ListItems.Add , , Sheets(i).Name
[COLOR="Red"]            With UserForm2.ListView1
            y = .ListItems.Count
                .ListItems(y).ListSubItems.Add , , Sheets(i).[d5]
                .ListItems(y).ListSubItems.Add , , Sheets(i).[d6]
                End With[/COLOR]
            End If
        End If
    Next
End Sub

Kod:
Private Sub UserForm_Initialize()
On Error Resume Next
With ListView1
.ColumnHeaders.Clear
.ListItems.Clear
.View = lvwReport
.Gridlines = True
.FullRowSelect = True
.MultiSelect = True
End With

ListView1.ColumnHeaders.Add , , "Sınıf", "150"
ListView1.ColumnHeaders.Add , , "Erkek Öğrenci", "100"
ListView1.ColumnHeaders.Add , , "Kız Öğrenci", "100"
[COLOR="Red"]For b = 3 To [COLOR="RoyalBlue"]Sheets("Veriler").[/COLOR]Cells(Rows.Count, 1).End(3).Row

ListView1.ListItems.Add , , Sheets("Veriler").Cells(b, 2)
y = ListView1.ListItems.Count
ListView1.ListItems(y).ListSubItems.Add , , [COLOR="RoyalBlue"]Sheets("Veriler").[/COLOR]Cells(b, 5)
ListView1.ListItems(y).ListSubItems.Add , , [COLOR="RoyalBlue"]Sheets("Veriler").[/COLOR]Cells(b, 6)
Next[/COLOR]
End Sub

Teşekkür ederim sn. PLİNT
 
Geri
Üst