Listboxta karaktere göre veri listeleme

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selam arkadaşlar,

Userform1 üzerinde bulunan Textbox2 ye "KA" değerini girip enter tuşuna bastığımda Userform2 açılacak (bu form üzerinde Listbox var) ve Textbox2 ye girdiğim değerle başlayan stokları listboxta listeleyecek ve yön tuşları ile listeden seçtip enter tuşuna bastığımda ürünle ilgili bilgiler Userform1 üzerinde bulunan diğer textboxlara gelecek. Userform2 nin İnitalize olayında Listboxa STOKLAR isimli sayfadan stokla ilgili verileri aktarıyorum. Textbox2 ye nasıl bir kod gerekli ?

Yada farklı bir uygulama olarak Userform2 açıldığında üzerinde bulunan listboxta ilk değer seçili durumda iken stok ismi girerken diyelimki DOMATES yazıyorum yazar yazmaz o stoğun üzerine gelemezmi ?
Eğer yazılan stok yoksada uyarı verebilirmi ?

İyi çalışmalar dilerim. :hey:
 
Katılım
29 Eylül 2004
Mesajlar
1,810
Excel Vers. ve Dili
Excel 2002 TR
Kontrol edemedim ama sanırım böyle birşey istiyorsunuz..

stok kartına

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
STOK_LİSTESİ.Show
End Sub
Private Sub UserForm_Initialize()
TextBox2.SetFocus
End Sub

stok listesine

Private Sub UserForm_Initialize()
SonSat = Cells(65536, 2).End(xlUp).Row
Ara = UCase(STOK_KARTI.TextBox2.Text)
SS = Len(Ara)
For i = 2 To SonSat
If Left(Cells(i, 2), SS) = Ara Then
ListBox1.AddItem Cells(i, 2)
End If
Next i
End Sub


Private Sub ListBox1_Enter()
Buldu = ListBox1.Value
SonSat = Cells(65536, 2).End(xlUp).Row
For i = 2 To SonSat
If Cells(i, 2) = Buldu Then
STOK_KARTI.TextBox1 = Cells(i, 1)
STOK_KARTI.TextBox2 = Cells(i, 2)
STOK_KARTI.TextBox3 = Cells(i, 3)
End If
Next i
Unload Me
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sn. danersin,

Vermiş olduğunuz kodları denedim fakat aşağıdaki hatayı verdi.
 

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
En sondaki listbox1_Enter olayına yazılmış kodları Listbox1_click olayına yazın.
 
Katılım
29 Eylül 2004
Mesajlar
1,810
Excel Vers. ve Dili
Excel 2002 TR
Kusura bakmayın uyku bastırınca kodu hiç çalıştırmadan yolladım , yaptığım hatada komik olmuş...
Siz enterla çalıştırmak istediğinize göre listbox1 deki kodu aşağıdaki gibi de yazabilirsiniz.

Private Sub ListBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = 13 Then
Buldu = ListBox1.Value
SonSat = Cells(65536, 2).End(xlUp).Row
For i = 2 To SonSat
If Cells(i, 2) = Buldu Then
STOK_KARTI.TextBox1 = Cells(i, 1)
STOK_KARTI.TextBox2 = Cells(i, 2)
STOK_KARTI.TextBox3 = Cells(i, 3)
Exit For
End If
Next i
Unload Me
End If
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sn. danersin,

Vermiş olduğunuz kodlar için teşekkür ederim. Birkaç eksiklik dışında işimi gördü.

Enter tuşunun dışında "F9" tuşuna bastığımda da bu liste çıkabilirmi ?

Ayrıca "KA" yazıp entera bastığımda additem özelliğinden olsa gerek eğer bu isimle başlayan stok çoksa listeyi çok yavaş oluşturuyor. (Bunu hızlandırabilirmiyiz ?) Oluşan listeden "ESC" tuşu ile çıktıktan sonra başka bir isimle başlayan stok için arama yapmak istediğimde diyelimki "DO" yazıp entera bastığımda "KA" ile yaptığım aramadaki liste geliyor.

Ayrıca 65536 satırda dolu olduğunda liste boş geliyor. Bu problemi nasıl aşabilirim. (Bu kadar stok olurmu diye sorabilirsiniz ama olduğunu farz edersek kodlar çalışmayacak.)

Yardımlarınız için çok teşekkür ederim. :hey:
 

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
Benim merak ettiğim .... bu iş için bir grup oluşturulmadi mi ?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Sn. Raider tabiki biliyorum bu iş için grup kurulduğunu ben ilerliyebilmek adına foruma soruyorum ayrıca belki gruba üye olmayan arkadaşlarımızında katkıları olur diye düşündüğümden bu bölüme sordum. Bu arada biraz uğraştıktan sonra sorduğum sorunun cevabını buldum. Hatırlatmanız için ayrıca teşekkür ederim.

İyi çalışmalar dilerim.
 
Üst