Listboxa additem ile veri alma

Katılım
3 Nisan 2014
Mesajlar
393
Excel Vers. ve Dili
Excel 2019 - Türkçe
Altın Üyelik Bitiş Tarihi
14-04-2021
Dosyanız ektedir.:cool:
Kod:
Private Sub UserForm_Initialize()
Dim sonsat As Long, sh As Worksheet
ListBox1.ColumnCount = 2
ListBox1.ColumnHeads = True
Sheets("Sayfa1").Select
Set sh = Sheets("SUZ")
ListBox1.RowSource = ""
sh.Range("A:B").ClearContents
Range("A1").AutoFilter
Range("A1").AutoFilter field:=1, Criteria1:="GELMEDİ"
Range("A1").CurrentRegion.Copy sh.Range("A1")
ListBox1.RowSource = "SUZ!A2:B" & sh.Cells(Rows.Count, "A").End(xlUp).Row
End Sub
Teşekkürler, emeğinize sağlık
 
Katılım
5 Nisan 2007
Mesajlar
32
Excel Vers. ve Dili
2003 türkçe
Arkadaşlar benim sorum biraz karışık Sayfa1 de A3 satırından başlayarak aşağıya doğru devam eden verilerim bulunmakta bu sayfa benim listem sorum şu olacak Sayfa2 de kullanmak zorunda olduğum formda bir adet ListBox1 ve bir adet TextBox1 bulunmakta Textbox1 yazdığım değeri ListBox1 de süzmek (bulmak) istiyorum bu zamana kadar bulduğum tüm kodlar form Sayfa1 de çalışırken sonuç veren kodlar ama tüm aramalarıma rağmen formun Sayfa2 de çalıştığı zaman bu işlemi yapabilecek bir kod bulamadım. Yardımcı olabilirseniz çok sevinirim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,398
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aşağıdaki kodu deneyiniz.

Arama "İle başlar" yöntemi ile çalışır. Büyük-küçük harf duyarlıdır.

Kod:
Private Sub TextBox1_Change()
    Dim Veri As Range, Son As Long
    
    If TextBox1 <> "" Then
        ListBox1.RowSource = Empty
        Son = Sheets("Sayfa1").Range("A" & Rows.Count).End(3).Row
        
        For Each Veri In Sheets("Sayfa1").Range("A3:A" & Son)
            If Veri.Value Like TextBox1 & "*" Then
                ListBox1.AddItem Veri.Value
            End If
        Next
    End If
End Sub

Private Sub UserForm_Initialize()
    Dim Son As Long
    
    Son = Sheets("Sayfa1").Range("A" & Rows.Count).End(3).Row
    ListBox1.RowSource = "Sayfa1!A3:A" & Son
End Sub
 
Katılım
5 Nisan 2007
Mesajlar
32
Excel Vers. ve Dili
2003 türkçe
Aşağıdaki kodu deneyiniz.

Arama "İle başlar" yöntemi ile çalışır. Büyük-küçük harf duyarlıdır.

Kod:
Private Sub TextBox1_Change()
    Dim Veri As Range, Son As Long
    
    If TextBox1 <> "" Then
        ListBox1.RowSource = Empty
        Son = Sheets("Sayfa1").Range("A" & Rows.Count).End(3).Row
        
        For Each Veri In Sheets("Sayfa1").Range("A3:A" & Son)
            If Veri.Value Like TextBox1 & "*" Then
                ListBox1.AddItem Veri.Value
            End If
        Next
    End If
End Sub

Private Sub UserForm_Initialize()
    Dim Son As Long
    
    Son = Sheets("Sayfa1").Range("A" & Rows.Count).End(3).Row
    ListBox1.RowSource = "Sayfa1!A3:A" & Son
End Sub
Korhan bey elinize ve emeğinize sağlık çok teşekkür ederim.
 
Katılım
10 Ocak 2019
Mesajlar
57
Excel Vers. ve Dili
Microsoft Office 2019
Türkçe
Büyük veri yığınlarında listboxta additem yöntemi ile veri almayı tavsiye etmiyorum.
Çok ağır kalıyor.
Üstelik 10 sütundan fazla veri alamıyorsunuz.
Rowsource yöntemini veya dizi yöntemini tavsiye ederim.
Bırakın additem'i
Aşağıdaki yöntemide kullanabilirsiniz.:cool:
Kod:
Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 3
ListBox1.List = Range("A1:C1").Value
End Sub
Merhaba hocam 10 sütundan fazla veri almak için ne yapmamız gerek
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,398
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Arama gibi işlemlerde dizi yöntemini ya da sayfadan veri yükleme gibi işlemlerde RowSource yöntemini kullanabilirsiniz.

Forumda her iki yöntem için örnekler var.
 
Katılım
10 Ocak 2019
Mesajlar
57
Excel Vers. ve Dili
Microsoft Office 2019
Türkçe
teşekkürler hocam
 
Üst