• DİKKAT

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

Listbox listeleme

Katılım
3 Eylül 2004
Mesajlar
174
Excel Vers. ve Dili
Excel-2002 Türkçe
Merhabalar;

Userformun açılışında listbox a A-B-C-D sütunlarımda bulunan verilerimi listelemek istiyorum.Listelerken boş satırlar listede görünmeyecek.

Teşekkürler.
 
Userforma aşağıdaki kodu yazarak deneyin.

[vb:1:3fcad2518c]Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 4
For a = 1 To Cells(65536, 1).End(xlUp).Row
If Cells(a, 1).Value <> 0 Then
c = c + 1
For b = 1 To 4
ListBox1.AddItem
ListBox1.List(c - 1, b - 1) = Cells(a, b).Value
Next
End If: Next
End Sub[/vb:1:3fcad2518c]
 
Sayın Leventm cevabınız için teşekkür ederim.

Fakat
Kod:
If Cells(a, 1).Value <> 0 Then
satırında
'13'çalışma hatası:
Tür uyumsuz

şeklinde hata veriyor.
 
O satırda hata verebilecek bir durum sözkonusu değil sebebini anlayamadım. Dosyanızı eklerseniz onun üzerinden gidelim.
 
Dosyanızı denedim hiç bir sorun olmadan çalışıyor.
 
VBE deki tools-refences i tıklayarak işaretli olan referansları yazarmısınız.
 
Kodların yazılı olduğu VBE editörünü Alt-F11 ile açın sonra üstteki menülerde tools menüsünü göreceksiniz,orada references i tıklayın, açılan pencerede işaretli kutuların yanındaki referansları buraya yazın.
 
Visual Basic For Applications
Microsoft Excel 8.0 Object Library
OLE Automation
Microsoft Forms 2.0 Object Library
Microsoft Office 2.0 Object Library

işaretli olanlar bunlar.
 
Bir anormallik görünmüyor. Excel versiyonuzla ilgilide olabilir. Dosyanıza bir buton ilave ettim,bu butona basarak userfomu açarak deneyin.
 
Olmadı sayın Leventm;

kodları şu şekilde değiştirdim;
Kod:
Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 4
For a = 1 To Cells(65536, 1).End(xlUp).Row
c = c + 1
For b = 1 To 4
ListBox1.AddItem
ListBox1.List(c - 1, b - 1) = Cells(a, b).Value
Next
Next
End Sub
Böyle olduğu zaman Listbox a listeleme yapıyor.Fakat boş satırları da gösteriyor.Boş satırları göstermesini nasıl engelleyebiliriz.
 
Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 4
For a = 1 To Cells(65536, 1).End(xlUp).Row
If Cells(a, 1) <> "" Then
c = c + 1
ListBox1.AddItem
For b = 1 To 4
ListBox1.List(c - 1, b - 1) = Cells(a, b).Value
Next
End If
Next
End Sub
 
Listbox Listeleme

Selam;
Biraz farklı bir mantığı var.
Kendinize göre uyarlayınız.

Listbox'ı doldurmak için :
Kod:
Private Sub userform_initialize()
    Sayfa1.[a1].Select ' sayfa1 a1 hücresini referans olarak seçsin
    Range(Selection, Selection.End(xlToRight)).Select ' a1.den sağa doğru dolu hücreleri seçsin
    Range(Selection, Selection.End(xlDown)).Select 'seçilenden aşağı doğru dolu hücreleri seçsin
    ActiveWorkbook.Names.Add Name:="kod", RefersToR1C1:="=Sayfa1!R1C1:R6C4" 'seçilmiş hücrelere ad  tanımlasın, bu adı veri alması gereken hücreleri tanımlamak için kullanacağız
        With ListBox1
            .ColumnCount = 4 ' 4 sütündan oluşsun
            .ColumnHeads = True ' başlıklı yapsın
            .ColumnWidths = 30 & ";" & 50 & ";" & 70 & ";" & 90 'veriler arasındaki boşlukları belirlesin
            .RowSource = "kod" ' verileri alacağı hücreleri tanısın
        End With
End Sub
Veri dolu hücrelerin tanımlama bilgisini sıfırlamak için:
Kod:
Private Sub UserForm_Terminate()
    ActiveWorkbook.Names("kod").Delete
End Sub

Saygılarımla;
Tarkan VURAL
 
Merhabalar;

Sorun çözüldü.
İlgilenen tüm arkadaşlara teşekkür ediyorum.
 
Slm Arkadaşlar.
buradaki kodlarla yapmak istedim ama malesef başaramadım.
C12:M100 Arası verilerim var.Listbox C stununu baz alarak boş satırları göstermesin istiyorum yardımcı olacak arkadaşlara şimdiden teşekkürler
 
Merhabalar;

@arslan a yardımcı olmak amacıyla forum dan derlediğim kodlarla dosya hazırlamak istedim fakat listbox a
10. ve 11. sütunları aktaramıyorum.Dosya yı gönderiyorum incelerseniz sevinirim.

Hata verdiği satırlar;

Kod:
.List(.ListCount - 1, 10) = Cells(i, "l")
.List(.ListCount - 1, 11) = Cells(i, "m")

Bu konuda bilgilendirirseniz sevinirim.
 
Syn Excelman tesekkür ediyorum. Ama dosyayı açamadım Hata alıyorum. tekrar deneyeceğim
Ben bi örnek gönderiyorum. boş satırların görünmemesini halletim ama listbox başlığını okutamıyorum. incelersen sevinirim
 
excalman additem ile listbox'ta 10 sütun (0-9) kullanabilirsiniz
en basit çözüm Cells(i, "l") & Cells(i, "m") şeklinde bazı sütunları birleştirerek göstermek olabilir.

@arslan sizin gittiğiniz yolda columnheadsi false yapıp labellar ile başlıkları yazmak daha doğru olur. (sizinde yapmaya çalıştığınız gibi). Muhakkak sayfadan yazmanız gerekse ve 10 küsur sütunu almak isterseniz sayfa içinde mükerrer kayıtlardan kurtulup başka bir yere yazdırmak ve sonra rowsource ile kayıtları listboxa almak gerekecek.
 
Columnhead i false yaptığımda listboxta stunların görünümü pek iyi olmuyor. iç içe gibi oluyor.
listboxta stunları çizgilerle ayırmak mümkünmü
 
Geri
Üst