• DİKKAT

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

Listboxa additem ile veri alma

  • Konbuyu başlatan Konbuyu başlatan oguzka
  • Başlangıç tarihi Başlangıç tarihi
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
 
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.
 
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
 
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.
 
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
 
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.
 
Geri
Üst