ListBoxta Ok ve Enter Tuşu İle Seçim

Katılım
17 Ağustos 2004
Mesajlar
222
Excel Vers. ve Dili
Ofiste Excel 2000 Türkçe
Evde Excel 2003 Türkçe
ListBoxta Ok ve Enter Tuşu Ýle Seçim

Kod:
Private Sub ad_Change()
Dim MyRange As Range
Dim noA As Integer
ListBox2.Clear
noA = WorksheetFunction.CountA(Sheets("SAYFA1").Range("A:A"))
For Each MyRange In Sheets("SAYFA1").Range("A1:A" & noA)
If Left(LCase(MyRange), Len(ad)) = LCase(ad) Then ListBox2.AddItem (MyRange)
Next
ad = büyük(ad)
End Sub

Private Sub ListBox2_Click()
ad.Value = ListBox2
End Sub
Kodları ile textboxtaki isime göre ListBox doluyor listboxtan fare ile seçtiğim isim textboxa geliyor.Fare ile seçmeden Enter Tuşu ile ListBoxa geçip yön tuşları ile ismi seçip TextBoxa alabilirmiyiz.
 
Katılım
17 Ağustos 2004
Mesajlar
222
Excel Vers. ve Dili
Ofiste Excel 2000 Türkçe
Evde Excel 2003 Türkçe
Evet.Amacım fare kullanmadan işlem yapmak.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
TextBox1 ve ListBox1 nesne isimlerini kendi çalışmanıza uyarlayınız...

[vb:1:9dccedd28f]Private Sub ListBox1_Change()
TextBox1 = ListBox1
End Sub
'
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then ListBox1.SetFocus
End Sub
[/vb:1:9dccedd28f]
 
Katılım
17 Ağustos 2004
Mesajlar
222
Excel Vers. ve Dili
Ofiste Excel 2000 Türkçe
Evde Excel 2003 Türkçe
Sayın Raider cevabınız için teşekkürler.Yukarıda yazdığım kodlarda sizin daha önce yazdığınız kodlar.
Fakat benim istediğim gibi çalışmadı ad isimli textboxtan enterle çıktığımda ListBox2 ye geliyor fakat listBox içinde ok tuşları ile gezinip enterle seçim yapamıyorum.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Bu şekliyle mi denediniz ?

Kod:
Private Sub ListBox2_Change()
    ad= ListBox2
End Sub
'
Private Sub ad_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then ListBox2.SetFocus
End Sub
 
Katılım
17 Ağustos 2004
Mesajlar
222
Excel Vers. ve Dili
Ofiste Excel 2000 Türkçe
Evde Excel 2003 Türkçe
Evet Sayın Hocam isimleri değiştirdim.Daha iyi anlaşılması açısından çalışma dosyamı ekledim.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Merhaba;

Þu anda Office yüklü olmadığı için inceleme imkanım yok. Ayrıca, WinRar programım da olmadığı için gönderdiğiniz dosya açma şansım yok.

Başka bir arkadaşımız konuyla ilgilenecektir herhalde.
 
Katılım
17 Ağustos 2004
Mesajlar
222
Excel Vers. ve Dili
Ofiste Excel 2000 Türkçe
Evde Excel 2003 Türkçe
Sayın hocam ilginiz için teşekkürler bu istediğim olay işi biraz daha kolaylaştırmak içindi.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Merhaba;

Office'i şimdi kurdum ...

Zip veya XLS olarak tekrar yüklerseniz, şimdi bakabilirim.
 
Katılım
15 Eylül 2004
Mesajlar
23
Sayın class37,dosyaya xls uzantısı vermeyi unutmuşsunuz galiba.

Yanlış anlamadıysam, aşağıdaki kodlar işinizi görür.

Kod:
Private Sub ListBox2_Enter()
    ListBox2.ListIndex = 0
End Sub

Private Sub ListBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If KeyAscii = 13 And ListBox2.ListIndex >= 0 Then ad = ListBox2
End Sub
Yalnız
Kod:
Private Sub ListBox2_Click()
ad.Value = ListBox2
End Sub
kod satırını silin.
Böylece Listbox üzerinde yön tuşları ile dolaşıp Enter tuşu ile seçim yapabilirsiniz.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Ufak bir örnek ektedir...
 
Katılım
17 Ağustos 2004
Mesajlar
222
Excel Vers. ve Dili
Ofiste Excel 2000 Türkçe
Evde Excel 2003 Türkçe
Merhabalar
Cevaplar için çok teşekkürler.1.ListBxTamam çalışamın tamamını zipli olarak gönderiyorum UserForm3 de fare kullanmadan kayıt yapmak mümkün olurmu acaba.(Bu keyifcilik bizi öldürecek:))Saygılar ve iyiçalışmalar.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Fare kullanmadan, tab tuşu ile de kontroller arasında gezip, enter tuşu ilede işlem yapabilirsiniz.
 
Katılım
15 Eylül 2004
Mesajlar
23
Tabi ki mümkün, leventm'nin söylediği gibi TAB tuşunu nesneler arasında gezinmek için kullanabilirsiniz.
Eğer ListBox2'de olduğu gibi Listbox1'de de yön tuşları ile gezinip Enter tuşu ile seçim yapmak istiyorsanız yukarıdaki yazdığım kodlardan istifade edebilirsiniz.
Yani ListBox1.Click eventi yerine ListBox2_KeyPress eventini kullanabilirsiniz.
Ben denedim, kodlar gayet güzel çalışıyor, ancak kodları buraya vermiyiceğim ki kendiniz biraz uğraşın. Yoksa hazırcılık insanın gelişmesine en büyük engel.
Ayrıca bazı nesneleri gereksiz yere dolaşıp da zaman kaybetmeyi önlemek için Tab Order sıralamasnı yeniden düzenleyin.
 
Katılım
17 Ağustos 2004
Mesajlar
222
Excel Vers. ve Dili
Ofiste Excel 2000 Türkçe
Evde Excel 2003 Türkçe
Aslında dün işlerim biraz yoğundu ilgilenemedim.Biraz uğraşmam lazım.Teşekkürler.İyiçalışmalar.
 
Üst