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
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
-
183.3 KB Görüntüleme: 12