Listboxdaki Kolon sayısının adeti?

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,475
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
07-11-2024
Merhaba arkadaşlar daha önce görmüştüm ama şimdi aratmama rağmen göremedim benim listboxumda 12 kolon var combobox ile listboxda süzme işlemi yaptırıyorum ancak süzme işlemini yaptıktan sonra listboxdaki tüm kolonları göstermiyor yani listboxa alınan sayfada 12 kolon olmasına rağmen süzme işlemini yaparken tüm kolonlar görünmüyor listboxda ki kolon sayısının limiti kaçtır acaba? vede süzme işleminde tüm kolonları gösterebilmesi için ne yapabilirim.
Şimdiden ilgilene tüm arkadaşlarıma teşekkür ederim.
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,215
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
Yanıt

Kod:
[COLOR="Blue"]Bu işlem veri alma şeklinize bağlıdır.
Bu şekil istediğiniz kadar sütunu gösterebilirsiniz.[/COLOR]
Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 12[COLOR="Blue"]'sütun sayısı[/COLOR]
ListBox1.RowSource = "A1:L" & Cells(65536, "A").End(3).Row
End Sub
Kod:
[COLOR="Blue"]Bu şekil 10 sütun ile sınırlıdır.[/COLOR]
Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 12
For SUT = 1 To Cells(65536, "A").End(3).Row
ListBox1.AddItem
ListBox1.List(S, 0) = Cells(SUT, "A")
ListBox1.List(S, 1) = Cells(SUT, "B")
ListBox1.List(S, 2) = Cells(SUT, "C")
ListBox1.List(S, 3) = Cells(SUT, "D")
ListBox1.List(S, 4) = Cells(SUT, "E")
ListBox1.List(S, 5) = Cells(SUT, "F")
ListBox1.List(S, 6) = Cells(SUT, "G")
ListBox1.List(S, 7) = Cells(SUT, "H")
ListBox1.List(S, 8) = Cells(SUT, "I")
ListBox1.List(S, 9) = Cells(SUT, "J")
[COLOR="Red"]'ListBox1.List(S, 10) = Cells(SUT, "K")
'ListBox1.List(S, 11) = Cells(SUT, "L")[/COLOR]
S = S + 1
Next
End Sub
 

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,475
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
07-11-2024
Hocam

İlginiz için teşekkür ederim. yanlız userformun initialize bölümüne sizin dediğiniz şekild kodları yazmıştım zaten sorun; combobox ile listboxda süzme ,işlemi yapıyorum süzme işlemini yaptıktan sonra listboxda kolon sayısını eksik gösteriyor dosyamı gönderiyorum. Örnek dosyamda formu açıldığında listbox da tüm stünlar görünüyor fakat Firma adı yazan comboboxda( combobox1) seçim yaptığınızda göreceksinizki o zaman list boxda tüm kolonları süzmüyor comboboxda süzme yaptıktan sonrada listboxda tüm kolonların görünmesi için ne yapabilrim hocam??
Yardım ederseniz çok makbule geçecektir.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Dosyanız ekte.
ARA butonuna basınız.:cool:
Kod:
Private Sub CommandButton2_Click()
Dim i As Long, a As Long, k As Byte
ListBox1.RowSource = ""
If ComboBox4.Value = "" And ComboBox5.Value = "" Then Exit Sub
ReDim myarr(1 To 12, 1 To 1)
For i = 3 To Cells(65536, "B").End(xlUp).Row
    If Cells(i, "C").Value = ComboBox4.Value And Cells(i, "E").Value = ComboBox5.Value Then
        a = a + 1
        ReDim Preserve myarr(1 To 12, 1 To a)
        For k = 1 To 12
            myarr(k, a) = Cells(i, k).Value
        Next k
    End If
Next i
If a > 0 Then ListBox1.Column = myarr
       
End Sub
 

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,475
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
07-11-2024
Sayın Hocam tekrar vakit ayırıp incelediğiniz için teşekkür ederim. yanlız benim kastettiğim buton ile değilde combobox1'in change olayında ve de şöyle bir şey daha var combobox1 e girilen veriye göre listboxda süzme yapacak ve combobox2 ye veri girmeye başlayınca budefa combobox1 ve combobox2 deki verilere göre süzme yapacak artı combobox3 ede veri grişi olmaya başlayınca combobox1 combobox2 vede combobox3 de yazılanları listboxda süzmeye başlayacak tam olarak anlatabildimmi bilmiyorum ama inşllah siz anlamışssınızdır
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Sayın Hocam tekrar vakit ayırıp incelediğiniz için teşekkür ederim. yanlız benim kastettiğim buton ile değilde combobox1'in change olayında ve de şöyle bir şey daha var combobox1 e girilen veriye göre listboxda süzme yapacak ve combobox2 ye veri girmeye başlayınca budefa combobox1 ve combobox2 deki verilere göre süzme yapacak artı combobox3 ede veri grişi olmaya başlayınca combobox1 combobox2 vede combobox3 de yazılanları listboxda süzmeye başlayacak tam olarak anlatabildimmi bilmiyorum ama inşllah siz anlamışssınızdır
Ekli dosyayı inceleyiniz.:cool:
Kod:
Sub listele()
Dim i As Long, a As Long, k As Byte
Dim deg1 As String, deg2 As String, deg3 As String
ListBox1.RowSource = ""
If ComboBox1.Value = "" And ComboBox2.Value = "" And ComboBox3.Value = "" Then Exit Sub
If ComboBox1.Value = "" Then
    deg1 = "*"
    Else: deg1 = ComboBox1.Value
End If
If ComboBox2.Value = "" Then
    deg2 = "*"
    Else
    deg2 = ComboBox2.Value
End If
If ComboBox3.Value = "" Then
    deg3 = "*"
    Else: deg3 = ComboBox3.Value
End If
ReDim myarr(1 To 12, 1 To 1)
For i = 3 To Cells(65536, "B").End(xlUp).Row
    If LCase(Replace(Replace(Cells(i, "C").Value, "I", "ı"), "İ", "i")) Like deg1 & "*" _
    And LCase(Replace(Replace(Cells(i, "E").Value, "I", "ı"), "İ", "i")) Like deg2 & "*" _
    And LCase(Replace(Replace(Cells(i, "F").Value, "I", "ı"), "İ", "i")) Like deg3 & "*" Then
    
        a = a + 1
        ReDim Preserve myarr(1 To 12, 1 To a)
        For k = 1 To 12
            myarr(k, a) = Cells(i, k).Value
        Next k
    End If
Next i
If a > 0 Then ListBox1.Column = myarr
Erase myarr
End Sub
 
Son düzenleme:

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,475
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
07-11-2024
hocam çok teşekkür ederim gönderdiğiniz kodlardan yola çıkarak kendime uyarlamayı başardım.
combobox1'in change olayına
Kod:
Private Sub ComboBox1_Change()
On Error Resume Next

Dim i As Long, a As Long, k As Byte
ListBox1.RowSource = ""
If ComboBox1.Value = "" Then Exit Sub
ReDim myarr(1 To 12, 1 To 1)
For i = 3 To Cells(65536, "B").End(xlUp).Row
    If Cells(i, "C").Value = ComboBox1.Value Then
        a = a + 1
        ReDim Preserve myarr(1 To 12, 1 To a)
        For k = 1 To 12
            myarr(k, a) = Cells(i, k).Value
        Next k
    End If
Next i
If a > 0 Then ListBox1.Column = myarr

End Sub
combobox2'nin change olayına
Kod:
Dim i As Long, a As Long, k As Byte
ListBox1.RowSource = ""
If ComboBox1.Value = "" And ComboBox2.Value = "" Then Exit Sub
ReDim myarr(1 To 12, 1 To 1)
For i = 3 To Cells(65536, "B").End(xlUp).Row
    If Cells(i, "C").Value = ComboBox1.Value And Cells(i, "E").Value = ComboBox2.Value Then
        a = a + 1
        ReDim Preserve myarr(1 To 12, 1 To a)
        For k = 1 To 12
            myarr(k, a) = Cells(i, k).Value
        Next k
    End If
Next i
If a > 0 Then ListBox1.Column = myarr
combobox3'ün change olayınada
Kod:
Private Sub ComboBox3_Change()
Dim i As Long, a As Long, k As Byte
ListBox1.RowSource = ""
If ComboBox1.Value = "" And ComboBox1.Value = "" And ComboBox3.Value = "" Then Exit Sub
ReDim myarr(1 To 12, 1 To 1)
For i = 3 To Cells(65536, "B").End(xlUp).Row
    If Cells(i, "C").Value = ComboBox1.Value And Cells(i, "E").Value = ComboBox2.Value And Cells(i, "f").Value = ComboBox3.Value Then
        a = a + 1
        ReDim Preserve myarr(1 To 12, 1 To a)
        For k = 1 To 12
            myarr(k, a) = Cells(i, k).Value
        Next k
    End If
Next i
If a > 0 Then ListBox1.Column = myarr
End Sub
kodlarını yazarak yapabildim yanlız sizden bir ricam bu kodlara nasıl bir ekleme yapmalıyım ki eğer combolara yazılan veri listbox içerisinde yoksa listbox boş değilde tüm verileri gösterecek şekilde görünsün vede combolar boşsa listbox yine sayfadaki tüm verileri göstersin bunun için nasıl bir kod eklemesi yapmam lazım
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Bu kodların dağa iyisi az önce yolladığım dosyada .Onu kullanırsanız dağa iyi olacaktır.:cool
 

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,475
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
07-11-2024
Hocam ben size sorumu yazarken siz zaten cevap vermişsiniz çok çok teşekkür ederim. tam istediğim gibi olmuş sadece comboboxlar boşsa listbox sayfadaki verilerin hepsini göstersin hani comboboxa veri yazmaya başladığımızda süzüyor ama comboyu sildiğimizde de bu defa hala listboxu boş gösteriyor combobox boşken listbox boş olmasın tekrar yoracağım ama rica etsem hocam
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Hocam ben size sorumu yazarken siz zaten cevap vermişsiniz çok çok teşekkür ederim. tam istediğim gibi olmuş sadece comboboxlar boşsa listbox sayfadaki verilerin hepsini göstersin hani comboboxa veri yazmaya başladığımızda süzüyor ama comboyu sildiğimizde de bu defa hala listboxu boş gösteriyor combobox boşken listbox boş olmasın tekrar yoracağım ama rica etsem hocam
Aşağıdaki satırı siliniz.:cool:
Kod:
If ComboBox1.Value = "" And ComboBox2.Value = "" And ComboBox3.Value = "" Then Exit Sub
 

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,475
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
07-11-2024
Çok teşekkür ederim hocam ellerinize sağlık
 

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,475
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
07-11-2024
Hocam verdiğiniz listele kodunu kullanuyorum yanlız kodu kullanmaya başlayınca farkttimki A ve F harfi ile başlayan verileri listboxda süzme yapmıyor bunun sebebi ne olabilir acaba ???
 
Katılım
8 Haziran 2007
Mesajlar
761
Excel Vers. ve Dili
excel- 2003 Türkçe
Sayın udentr2002 eğer mailde sorun varsa burayada ekleyebilirsiniz dosyayı. Teşekkürler kolay gelsin
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
A ve F harflerini süzmeyen dosyayı eklermisiniz.:cool:
 

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,475
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
07-11-2024
Hocam ekli dosyada açılan forumda firma adı adlı comboboxda süzme işlemi yapmaya çalışın diğer harfleri süzünce bir sorun yok ama A harfi ile yada F harfi ile başlayan verileri süzmüyor incelerseniz çok sevineceğim hocam
Sağlıcakla kalın
 
Katılım
8 Haziran 2007
Mesajlar
761
Excel Vers. ve Dili
excel- 2003 Türkçe
günaydın udentr2002. Ben sizin sorunun neden kaynaklandığını buldum. Ama çözüm bulamam sadece büyük harften kaynaklanıyor. Yani A harfi ile alakalı değil A harfinin yani kelimenin BÜYÜK harfle başlamasından kaynaklanıyor.
 

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,475
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
07-11-2024
Günaydın hocam evet haklısınız Büyük harfle başlayan verileri süzmüyor bende çözümünü bilmiyorum inşallah bir üstad yardımcı olur
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Aşağıdaki kodları kullanınız.:cool:
Kırmızı renkli kodlarda lcase komutu kullanılarak combobox'tan girilen değer küçük harfe çevrilmiştir.:cool:
Kod:
Sub listele()
Dim i As Long, a As Long, k As Byte, deg As Double
ListBox1.RowSource = ""
ReDim myarr(1 To 12, 1 To 1)
For i = 3 To Cells(65536, "B").End(xlUp).Row
    If LCase(Replace(Replace(Cells(i, "C").Value, "I", "ı"), "İ", "i")) Like [COLOR="Red"][B]LCase[/B][/COLOR](ComboBox1.Value & "*") _
    And LCase(Replace(Replace(Cells(i, "E").Value, "I", "ı"), "İ", "i")) Like [COLOR="red"][B]LCase[/B][/COLOR](ComboBox2.Value & "*") _
    And LCase(Replace(Replace(Cells(i, "F").Value, "I", "ı"), "İ", "i")) Like [COLOR="red"][B]LCase[/B][/COLOR](ComboBox3.Value & "*") Then
    
        a = a + 1
        ReDim Preserve myarr(1 To 12, 1 To a)
        For k = 1 To 12
            myarr(k, a) = Cells(i, k).Value
        Next k
        If a = 1 Then
            deg = Cells(i, 10).Value
            ElseIf Cells(i, 10).Value < deg Then
            deg = Cells(i, 10).Value
        End If
    End If
Next i
If a > 0 Then ListBox1.Column = myarr
Erase myarr
Label17.Caption = Format(deg, "#,##0.00") & " " & "YTL'dir"


End Sub
 

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,475
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
07-11-2024
tekrar &#231;ok te&#351;ekk&#252;r ederim hocam
 
Üst