Eski bir web tarayıcısı kullanıyorsunuz. Bu veya diğer siteleri görüntülemekte sorunlar yaşayabilirsiniz.. Tarayıcınızı güncellemeli veya alternatif bir tarayıcı kullanmalısınız.
Öncelikle elinize saglik mükemmel olmus.
Sari alani formul ile geliyor fakat arada elleri formule carpiyor ve siliniyor surekli duzeltmem gerekli bunun önüne gecebilmem icin orayi da macro ile cagirmak istemistim.
Hocam tekar merhaba L12 hücresinde veri dogrulama ile macromuz calisiyor fakat müsteri sayisi cogaldiginda bu listeden müsterileri bulmak zor oldu. Simdi combox ile arama yaptiriyorum fakat macro ya bunu nasil yazacam acikcasi bilemiyorum. örnek dosyam ektedir tekrar ilgilenebilirseniz sevinirim.
-- FORMÜLLER >> AD TANIMLAMA kısmında liste adını verip, =KAYDIR(Musteriler!$B$1;1;;KAÇINCI("ZZZ";Musteriler!$B:$B;1)-1;)
formülünü kullanarak yeni bir AD TANIMLAMASI yapın.
-- Ardından, GELİŞTİRİCİ menüsündeki TASARIM MODU'nu etkinleştirip, sayfadaki Combobox'u seçip,
yine GELİŞTİRİCİ menüsünden ÖZELLİKLER bölümünü açıp, LisFillRange seçeneğinin karşısına liste yazarak, bu ekranı kapatın.
-- Alttan Fatura_Olustur sayfasının adına fareyle sağ tıklayın ve açılan VBA ekranında mevcut Worksheet_Change kodunu tamamen silin,
-- VBA ekranında aynı yerde bulunan Combobox_Change kodunu aşağıdaki gibi değiştirin.
-- FORMÜLLER >> AD TANIMLAMA kısmında liste adını verip, =KAYDIR(Musteriler!$B$1;1;;KAÇINCI("ZZZ";Musteriler!$B:$B;1)-1;)
formülünü kullanarak yeni bir AD TANIMLAMASI yapın.
-- Ardından, GELİŞTİRİCİ menüsündeki TASARIM MODU'nu etkinleştirip, sayfadaki Combobox'u seçip,
yine GELİŞTİRİCİ menüsünden ÖZELLİKLER bölümünü açıp, LisFillRange seçeneğinin karşısına liste yazarak, bu ekranı kapatın.
-- Alttan Fatura_Olustur sayfasının adına fareyle sağ tıklayın ve açılan VBA ekranında mevcut Worksheet_Change kodunu tamamen silin,
-- VBA ekranında aynı yerde bulunan Combobox_Change kodunu aşağıdaki gibi değiştirin.
-- liste AD TANIMLAMASI belgeyi yoracak bir işlem değil, sadece Combobox'un kullandığı listenin oluşumu için.
Combobox'taki seçimin hücreye yazılması işleminde değişiklik yapmadım/önermedim.
-- Önceki kod, L12'deki değeri, Müşteriler sayfasındaki tüm satırları For ... Next döngüsüyle tek tek tarayıp,
L12'ye eşit olan hücreye denk geldiğinde verileri yazıyor idi.
Benim önerdiğim yöntem ise CTRL+F işlemidir ve böylece satır satır tarama yerine doğrudan ilgili satır bulunduğu için
döngüye gerek olmaz. Bu nedenle de For...Next döngüsünden daha hızlıdır.
-- İşlemlerin, L12'ye veri yazılmasına bağlamakla, Combobox'tan seçim yapılmasına bağlamak arasında bir fark yok.
Bence, belgenizde, belirttiğim değişiklikleri yapıp kaydedin ve kapatıp açın (varsa açık diğer excel belgelerini de kapatın).
Sonra belgeyi tekrar açıp bir deneyin isterseniz.
Hocam arama kismina "t" harfi yazdigim zaman t ile baslayan ilk kayidi getirip islem tamamlanmistir mesaji geliyor ama devamini yazmama müsade etmiyor bende acaba sizde de ayni mi ?
Yaptim fakat bu sefer de yazdiklarim hic gözükmüyor ?
Haklisiniz listeden secmek daha dogru fakat 200 den fazla firma icinde listeden bulmak cok zaman kaybi oluyor.
Bir de bu cevaba eklediğim uygulamayı deneyin bakalım.
Dosya içerisinde açıklama da yazdım.
Dosyada, L10 hücresini seçtiğinde görünür hale gelen bir adet TextBox ve
bu Textbox'a yazmaya başladığında, diğer sayfadaki müşteri isimleri içinde,
İÇERİR mantığıyla gerçekleşen ARAMA sonuçlarının listelendiği bir adet LISTBOX mevcut.
Listbox'taki bir müşterişe fareyle ÇİFT tıklandığında veri aktarma işlemi gerçekleşir.
Bir de bu cevaba eklediğim uygulamayı deneyin bakalım.
Dosya içerisinde açıklama da yazdım.
Dosyada, L10 hücresini seçtiğinde görünür hale gelen bir adet TextBox ve
bu Textbox'a yazmaya başladığında, diğer sayfadaki müşteri isimleri içinde,
İÇERİR mantığıyla gerçekleşen ARAMA sonuçlarının listelendiği bir adet LISTBOX mevcut.
Listbox'taki bir müşterişe fareyle ÇİFT tıklandığında veri aktarma işlemi gerçekleşir.