Textboxda süzülen Listboxda listelenen veriler

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
675
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
Kod:
Private Sub TextBox5_Change()
    If Kontrol Then
        Kontrol = False
        Exit Sub
    End If
    Firma_Ara
    
     Dim a As Integer
    If TextBox5 <> "" Then
    Me.ListBox2.Height = Me.ListBox2.ListIndex + 2 ' Listbox2 nin yüksekliğinin satır sayısı +1 yapma düşüncesi
    
    Me.ListBox2.Visible = True
    a = Me.ListBox2.ListIndex
    Me.ListBox2.Selected(a + 1) = True  ' listbox2in satır verileriden ilk satırı seçmek için
    ListBox2.List = Diz(ListBox2.List, 1) ' 1. Sütuna göre Sıralama Yapmakta
    Else
    TextBox5 = ""
    TextBox6 = ""
    ListBox2.Clear
    Me.ListBox2.Visible = False
    End If
End Sub
Merhaba, herkeze hayırlı günler, bol kazançlar,

Ekli dosyada userform18 üzerinde textbox5 içinde metin araması ya da süzmesi yaptırarak firma adlarını listeliyorum ve içinden uygun olanını Double click ile ya da Enter ile seçiyorum. Ancak şöylesi ufak bir pürüz var. Double Clik ile değilde özellikle enter kullanmaya çalışıyorum. Bunun sebebi veri girişi , veri kaydı yaparken fareyi mümkün olduğunca kullanmak istemiyorum. Bundan dolayı ilgili süzülen verilerde aşağı-yukarı yön tuşları ile hareket edip enter ile seçmeye çalışıyorum. Ve bunu yapabiliyorum. Ancak, pürüz dediğim şu;

Süzme yapıp veri listeledikten sonra, aşağı yön tuşu ile liste içine giriyorum ancak örneğin listede 5 satırlık veri var ise ve ben 5. satırı seçeceksem aşağı tuşuna 6 defa bastığımda ilgili satıra geliyor. Yani yanlış anlamadıysam aşağı yön tuşuna ilk basmam beni listboxa sokuyor, sonraki tuş basışları liste içinde hareket etmemi sağlıyor gibi.

a = Me.ListBox2.ListIndex
Me.ListBox2.Selected(a + 1) = True

Yukardaki iki satırlık kod ile yapmaya çalıştığım şey, listboxda süzülen verilerden ilk satırın seçilmesi ve Enter yaptıktan sonra entera bağlı işlemlerin yapılmasını sağlamak. Belirttiğim kod ile ilk satır seçilmiş görünüyor, tabi yanlış değilsem, satır rengi mavi görünüyor. Ancak Enter yaptığımda listbox üzerinde değilde textbox üzerinde işleme devam ediliyor ssanki.

Yada kısaca listboxda satır seçili gibi görünüyor ama imleç hala da textboxda duruyor gibi.

Bunu nasıl istediğim hale getirebilirim.

Son olarak, visible = false/ true ile listnox gizlemeye çalışıyorum. Olmasını isstediğim şey ise veri süzdükten sonra ilgili listboxın satır sayısı + 1 kadar açılması(yükselmesi) ve seçim yaptıktan sonra gizlenmesi.

Me.ListBox2.Height = Me.ListBox2.ListIndex + 2

yukardaki kodu bu amaçla ekledim, listindex satır sayısını veriyorsa + 2 yaparsam bana en altta boş bir saır görüntüsü sağlar düşüncesi ile.

Bu iki durumu ayarlamanın bir yolu varmı dır acaba. Ve umarım açıklayabilmişimdir.
 

Ekli dosyalar

Üst