• DİKKAT

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

Listview-Listenin Son Satırını belirleme

Katılım
5 Ocak 2009
Mesajlar
1,586
Excel Vers. ve Dili
2003 Türkçe
Selam,
Arkadaşlar aşağıdaki kod ile insört sayfasındaki satırları listview'de listeliyorum.
Listview'in sağdaki scrollbar'ı aşağıya indirdikçe boş satırıları da gösteriyor.

Kod:
Private Sub UserForm_Initialize()

Dim i As Long, x As Long, j As Byte
Dim lv As ListView, insört As Worksheet
Set lv = ListView1
Set insört = Sheets("insört")

son = insört.Cells(65536, "A").End(3).Row
lv.ListItems.Clear
lv.View = lvwReport
lv.Gridlines = True
lv.FullRowSelect = True

lv.ColumnHeaders.Add , , insört.Cells(1, "A").Value, 40
lv.ColumnHeaders.Add , , insört.Cells(1, "B").Value, 40
lv.ColumnHeaders.Add , , insört.Cells(1, "C").Value, 70
lv.ColumnHeaders.Add , , insört.Cells(1, "D").Value, 60
lv.ColumnHeaders.Add , , insört.Cells(1, "E").Value, 100
lv.ColumnHeaders.Add , , insört.Cells(1, "F").Value, 40
lv.ColumnHeaders.Add , , insört.Cells(1, "G").Value, 45

lv.ListItems.Clear

For j = 2 To 6
x = 0
For i = 2 To son
x = x + 1
lv.ListItems.Add
lv.ListItems(x) = insört.Cells(i, "A").Value '1.sütun satırları
lv.ListItems(x).SubItems(j - 1) = insört.Cells(i, j).Value ' diğer sütunları

Next i
Next j

End Sub


halbuki
Kod:
son = insört.Cells(65536, "A").End(3).Row
ile listview'in de son satırı olması gerekmiyor mu?

Listview'in boş satırları göstermemesini yani en son dolu satırda kalmasını istiyorum.
Bu problemi nasıl çözebilirim?
Yardımcı olabilirseniz çok sevinirim.
 
Selamlar,

Bu tarz sorularınızı örnek dosya ile desteklerseniz daha çabuk çözüme ulaşabiliriz.

i ve j döngülerini yer değiştirip deneyin.
 
Selamlar,

Bu tarz sorularınızı örnek dosya ile desteklerseniz daha çabuk çözüme ulaşabiliriz.

i ve j döngülerini yer değiştirip deneyin.
Selam,
Sayın Korhan Ayhan,
İlginize çok teşekkür ederim. Haklısınız bir dosya eklemem gerekirdi. Siz ve diğer uzmanların kodlara bakarak anlayabileceğini düşündüm.
Tam örnek dosya ekleyeyim derken problemi çözdüm.
Kod:
lv.ListItems.Add
kodunu aşağıdaki kırmızı alana taşıdım.

Kod:
x = 0
For i = 2 To son
x = x + 1
[B][COLOR="Red"]lv.ListItems.Add[/COLOR][/B]

For j = 2 To 6
[COLOR="Red"][B]------önceki yeri burası idi-----------[/B][/COLOR]
lv.ListItems(x) = insört.Cells(i, "A").Value '1.sütun satırları
lv.ListItems(x).SubItems(j - 1) = insört.Cells(i, j).Value ' diğer sütunları

Next j
Next i

listview konusunda çok az bilgi sahibiyim. Alıştırmalar yapıyorum. Bir nevi ezbere yapıyorum.
Mahsuru yoksa birkaç soru sorabilir miyim?

1-
lv.ListItems.Add özelliği biraz bahsedebilir misiniz?
2-
neden listview'in ilk sutunu yukarıdaki döngü içine sokamıyoruz da
Kod:
lv.ListItems(x) = insört.Cells(i, "A").Value
kodlarını kullanmak zorunda kalıyoruz?
3-
kolon başlığını alt alta yazı olmasını istiyorum ve bu yüzden chr(10) karakteri kullanarak
Kod:
lv.ColumnHeaders.Add , , "Üretim" & Chr(10) & "No.", 40
şeklinde kullandım. Yapamadım. Nasıl yapabilirim*


İyi çalışmalar.
 
Geri
Üst