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.
 

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
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]
 
Katılım
3 Eylül 2004
Mesajlar
174
Excel Vers. ve Dili
Excel-2002 Türkçe
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.
 

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
O satırda hata verebilecek bir durum sözkonusu değil sebebini anlayamadım. Dosyanızı eklerseniz onun üzerinden gidelim.
 

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
Dosyanızı denedim hiç bir sorun olmadan çalışıyor.
 

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
VBE deki tools-refences i tıklayarak işaretli olan referansları yazarmısınız.
 

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
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.
 
Katılım
3 Eylül 2004
Mesajlar
174
Excel Vers. ve Dili
Excel-2002 Türkçe
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.
 

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
Bir anormallik görünmüyor. Excel versiyonuzla ilgilide olabilir. Dosyanıza bir buton ilave ettim,bu butona basarak userfomu açarak deneyin.
 
Katılım
3 Eylül 2004
Mesajlar
174
Excel Vers. ve Dili
Excel-2002 Türkçe
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.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
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
 
Katılım
22 Nisan 2005
Mesajlar
486
Excel Vers. ve Dili
tarkan@tarkanvural.com.tr
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
 
Katılım
3 Eylül 2004
Mesajlar
174
Excel Vers. ve Dili
Excel-2002 Türkçe
Merhabalar;

Sorun çözüldü.
İlgilenen tüm arkadaşlara teşekkür ediyorum.
 
Katılım
30 Mart 2005
Mesajlar
86
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
 
Katılım
3 Eylül 2004
Mesajlar
174
Excel Vers. ve Dili
Excel-2002 Türkçe
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.
 
Katılım
30 Mart 2005
Mesajlar
86
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
 
Katılım
29 Eylül 2004
Mesajlar
1,810
Excel Vers. ve Dili
Excel 2002 TR
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.
 
Katılım
30 Mart 2005
Mesajlar
86
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ü
 
Üst