• DİKKAT

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

RowSource - Listbox içerisinde Textboxa yazdığın verinin satırını bulmak

MuratBektas41

Altın Üye
Katılım
14 Nisan 2018
Mesajlar
16
Excel Vers. ve Dili
2007
ingilizce
Merhaba Arkadaşlar,

Sizlerden hiç yardım alamadım ve çok zorlanıyorum:( istediğim şeyleri birkaç dakikada yapacak üstadlar var burada,geçmişkonulardan görebiliyorum.Şuanda öğrenmeye zaman ayırmakyerine programı bitirmek için uğraşıp,didiniyorum.Yardımlarınızı rica ederim.

Sürekli kodları değiştirerek bir adım daha ilerigidiyorum fakat detaylar bozuluyor.RowSource yöntemi ile verileri aldığımda donma problemi ortadan kalktı ve TextBox2 ye açıklamayı getirdim.

Bu seferde Textbox1 e yazdığım herhangi bir kodu listboxda bulma özelliği bozuldu, kodları tamamen silmek zorunda kaldım.Nasıl bir yol izlemeliyim, yardımcı olur musunuz ?
 

Ekli dosyalar

Son düzenleme:
Merhaba.

Sanıyorum istediğiniz filtreleme değil de; TextBox1'e ürün kodunu yazdığınızda ListBox'ta ilgili satırın seçilmesi ve TextBox2'ye de ilgili verinin yazdırılması.

UserForm1'in kod kısmında;
-- en üstte mevcut Dim satırlarının hemen altına, Dim varmi şeklinde yeni bir satır ekleyin,
-- ListBox1_Click kodlarını silip onun yerine aşağıdaki kodları ekleyin.

Böylece;
-- ListBox1'den seçim yaparak üstteki TextBoxlara veri alma işlemini artık fareyle çift tıklayarak yapabilirsiniz.
-- TextBox1'e herhangi bir ürün kodunu elle yazdığınızda arama yapabilirsiniz.
Ürün kodu TAM olarak yazıldığında Listbox'ta ilgili satır seçili hale gelir ve TextBox2'ye de ilgili veri yazılır.
.
Kod:
[B][COLOR="blue"]Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)[/COLOR][/B]
     TextBox1 = ListBox1.List(ListBox1.ListIndex, 0)
     TextBox2 = ListBox1.List(ListBox1.ListIndex, 1)
[B][COLOR="Blue"]End Sub[/COLOR][/B]

[B][COLOR="blue"]Private Sub TextBox1_Change()[/COLOR][/B]
ListBox1.ListIndex = -1
If TextBox1 = "" Then Exit Sub

Set varmi = Sheets("analiste").Range("A:A").Find(TextBox1, , , xlWhole)
    
If Not varmi Is Nothing Then
    ListBox1.ListIndex = varmi.Row - 2
    TextBox2 = Sheets("analiste").Range("A:A").Cells(varmi.Row, 2)
End If
[B][COLOR="blue"]End Sub[/COLOR][/B]
 
Hocam çok teşekkürler, gayet güzel oldu.Bu durumu oldukça çok sormuşlar ama bir de ben sorayım, sayfa içerisinde gördüğünüz üzere textbox1 e yazacağımız kod en az 7 haneli, bu kodun satırını listboxta bulmak için paylaşmış olduğunuz sistemde kodun tamamını yazmamız gerekiyor.Eğer 1. basamaktan başlayarak listbox ta aramasını isteseydik ne eklememiz gerekirdi ?

Şöyleki; 313 yazdığımda 313 lükod bloklarını listboxa getirsin.

Ben şuanki sistemde analisteye veri eklemesi yaparak, 60, 70binlik kod eklesem çalışmayı bozar mı ?


Bu benim işimi görüyor fakat hem bunu öğrenmek isteyen arkadaşlara hemde bana örnek olması açısından soruyorum.Zaman ayırdığınız için teşekkür ederim.

Tekrar düzenlenmiş çalışmayı da paylaşıyorum arkadaşlar buradan kontrol edebilir.
 

Ekli dosyalar

Şu an bilgisayar başında değilim.
Başka cevap veren olmazsa daha sonra bakarım.
 
analiste isimli sayfaya eklediğim metin kutusundaki
"-- Ayrıca..." şeklinde başlayan cümlenin anlaşılır olduğunu düşünüyorum.

Özetle, userformdaki Listbox'un verileri aldığı kaynak;
-- TextBox1 boşsa analiste isimli sayfa,
-- TextBox1 boş değilse, İLE BAŞLAR mantığına göre analiste isimli sayfa C sütununa uygulanan filtre sonucunun kopyalandığı analiste2 isimli sayfa.

İyi çalışmalar dilerim.
.
 
Geri
Üst