ListBox son satırı göstersin

Katılım
22 Ekim 2004
Mesajlar
178
Benim ListBox ile ilgili iki sorum var.
Form üzerindeki ListBox son kayıttan itibaren göstersin.Her açışta ListBox'u aşağıya sürüklemeye gerek kalmadan son satır görünsün.Bunu nasıl yapabiliriz?
Birde benim yaptığım bir çalışmada ListBox 15.Satırdan itibaren listeleme yapıyor.Üst kısımdaki satırlarda Firma İsmi, Adresi vb. kayıtlar var.Eğer 15.Satı boş ise yani henüz kayıt yoksa yada tek bir kayıt varsa ListBox 1.Satırdan itibaren listeleme yapıyor.Bunu önlemek için ne yapabiliriz?
ListBox ta listelemek için yazdığım kodlar:
Kod:
a = WorksheetFunction.CountA(Range("A14:H65536")) + 1
ListBox1.RowSource = "A15:H" & a
ListBox1.ColumnCount = 8
ListBox1.ColumnHeads = False
ListBox1.ColumnWidths = "15;55;75;75;75;75;75;1"
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Birinci sorunuzla ilgili olarak Kodlarınızın en altına aşağıdaki satırı eklerseniz formun açılışında listboxta enson satır seçili olur. İkinci sorunuz tam olarak anlayamadım. İlk 15 satırın listboxta boş olarakmı görünmesini istiyorsunuz.

[vb:1:f310047f1f]ListBox1.ListIndex = ListBox1.ListCount - 1
[/vb:1:f310047f1f]
 
Katılım
22 Ekim 2004
Mesajlar
178
Birinci soruma verdiğiniz cevap için teşekkür ederim.
İkinci sorumda ilk 15 satırın görünmesini istemiyorum.Zaten 15. Satırdan sonrasını listelemesini, eğer henüz kayıt yapılmamışsa boş göstermesini istiyorum.Ama eğer henüz kayıt yoksa ilk 15 satırı gösteriyor.Birkaç kayıt yapıldıktan sonra normal şekilde listeliyor.Kayıt yoksa boş olsun istiyorum.
 
Katılım
17 Nisan 2005
Mesajlar
122
Excel Vers. ve Dili
Excel 2010 TR | Excel 2013 TR
Selam alpay1,

asagidaki kodu bi dene ben bunu kullaniyorum listbox icin; yalniz sayfadaki 15. satirdan itibaren yer alan kayitlarinin arasinda bos satir olmamasini sagla. aksi halde bos satir sayisi kadar kayit listbox ta yer almayacaktir

kolay gelsin

Kod:
Range("A15:A65536").Select   '15. satirdan itibaren listeleme yapacagini belirttigin icin A15 hucresinden A65536 ya kadar dolu hucreler sayilacak (arada bos satir olmadigini varsayiyoruz!!! Aksi Halde listelenen kayitlar dogru olmaz)
a = Application.CountA(Selection) + 14   'diğer bilgilerin yer aldigi ust taraftaki satirlarin sayisini ekliyoruz

If a > 14 Then   '15. satirda (ve sonraki satirlarda) kayit varsa...
    ListBox1.RowSource = "A15:A" & a
    ListBox1.ColumnCount = 8
    ListBox1.ColumnHeads = False
    ListBox1.ColumnWidths = "15;55;75;75;75;75;75;1" 
Else: ListBox1.RowSource = "A15"   '15. satir bos ise (listelenecek hic bir kayit yoksa)...
    ListBox1.ColumnCount = 8
    ListBox1.ColumnHeads = False
    ListBox1.ColumnWidths = "15;55;75;75;75;75;75;1" 
End If
 
Katılım
17 Nisan 2005
Mesajlar
122
Excel Vers. ve Dili
Excel 2010 TR | Excel 2013 TR
Selam alpay1,

kusura bakma benim kodu modifiye ederken bir duzeltmeyi atlamisim


Mavi renkli "A" harfi "H" harfi ile degistirilmeli
------------------
...
...
If a > 14 Then '15. satirda (ve sonraki satirlarda) kayit varsa...
ListBox1.RowSource = "A15:A" & a
...
...
------------------

kodun duzeltilmis son hali asagidadir

kolay gelsin

Kod:
Range("A15:A65536").Select   '15. satirdan itibaren listeleme yapacagini belirttigin icin A15 hucresinden A65536 ya kadar dolu hucreler sayilacak. A sutununda bos kayit alani olmamalidir!  (arada bos satir olmadigini varsayiyoruz!!! Aksi Halde listelenen kayitlar dogru olmaz)
a = Application.CountA(Selection) + 14   'diğer bilgilerin yer aldigi ust taraftaki satirlarin sayisini ekliyoruz

If a > 14 Then   '15. satirda (ve sonraki satirlarda) kayit varsa...
    ListBox1.RowSource = "A15:H" & a
    ListBox1.ColumnCount = 8
    ListBox1.ColumnHeads = False
    ListBox1.ColumnWidths = "15;55;75;75;75;75;75;1" 
Else: ListBox1.RowSource = "A15"   '15. satir bos ise (listelenecek hic bir kayit yoksa)...
    ListBox1.ColumnCount = 8
    ListBox1.ColumnHeads = False
    ListBox1.ColumnWidths = "15;55;75;75;75;75;75;1" 
End If
 
Katılım
22 Ekim 2004
Mesajlar
178
Sayın entropy tr,
Yazdığınız kodlar tam istediğim gibi.Denedim.Çok teşekkür ederim.
 
Katılım
17 Nisan 2005
Mesajlar
122
Excel Vers. ve Dili
Excel 2010 TR | Excel 2013 TR
gene ben,
hastaliktan gozler de yamuldu dimagh da

koddaki

Else: ListBox1.RowSource = "A15"

satirini

Else: ListBox1.RowSource = "A15:H15"

olarak duzeltin

ya da en iyisi siz asagidaki kodu kullanin. Walla cok ozur dilerim ust sol. yolu enf ve bronsit ayni anda vurunca accik dikkat dagilmasi oldu :agla:




Kod:
Range("A15:A65536").Select
a = Application.CountA(Selection) + 14 

If a > 14 Then
        ListBox1.RowSource = "A15:H" & a
Else: ListBox1.RowSource = "A15:H15" 
End If 
    ListBox1.ColumnCount = 8
    ListBox1.ColumnHeads = False
    ListBox1.ColumnWidths = "15;55;75;75;75;75;75;1"
 
Katılım
17 Nisan 2005
Mesajlar
122
Excel Vers. ve Dili
Excel 2010 TR | Excel 2013 TR
çok sağolun Sn. Hüseyin,

Çok şükür şimdi daha iyiyim.

Tüm arkadaşaşlar kendinize dikkat edin, sağlıcakla kalın.
 
Üst