• DİKKAT

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

Comboboxta seçilen veriye göre diğer userformda veri çekme

Katılım
7 Şubat 2009
Mesajlar
94
Excel Vers. ve Dili
2003 ingilizce
Merhaba;

Ekteki dosyamda elimde hazır olan bir datanın comboboxta seçilen değere göre filtrelenip,diğer userformda bu dataları kullanarak kullanıcaya seçim sunan bir durum yapmaya çalışıyorum ancak yapamadım, yardımlarınızı rica ederim ekte açıklamalar mevcut...
 

Ekli dosyalar

Yapacağınız işlem için tek userform yeterli.
2. userform eklemenizin bir amacı varmı ?
 
Ekli dosyayı inceleyiniz.

Evet gerçekten güzel çalışma olmuş, ancak Ahmet'i isim listesinden seçtiğimizde gelen ilk kayıdı kaydettikten sonra, tekrar isim listesinden ahmeti seçtiğimde aynı eklenen kayıt geliyor, diğer kayıtları göremiyorum, bunu nasıl yapabilirim, siz burada ikinci kayıt için listede bir ahmet daha bırakmışsınız ancak tek ahmet olması durumunu nasıl yapabiliriz?
 
Sizin eklemiş olduğunuz çalışma dosyanızdaki listede değişiklik olmadı.
Ahmet'i ben iki tane yapmadım.
Sadece sorunuza göre kodları hazırladım.
Yukarıda #5 nolu mesajınızda;
tek Ahmet olması durumunu nasıl yapabiliriz?
derken,
- Listedeki aynı olan isimleri ComboBox'da tek olarak mı görmek istediğinizi
- Listede seçilip sayfa3'e aktarılan isimin sayfa1'deki listeden silinmesini mi kasdediyorsunuz anlayamadım.

Konuya açıklık getirildikten sonra dosyanızda güncelleme yapabilirim.

Saygılarımla
 
Sizin eklemiş olduğunuz çalışma dosyanızdaki listede değişiklik olmadı.
Ahmet'i ben iki tane yapmadım.
Sadece sorunuza göre kodları hazırladım.
Yukarıda #5 nolu mesajınızda;
derken,
- Listedeki aynı olan isimleri ComboBox'da tek olarak mı görmek istediğinizi
- Listede seçilip sayfa3'e aktarılan isimin sayfa1'deki listeden silinmesini mi kasdediyorsunuz anlayamadım.

Konuya açıklık getirildikten sonra dosyanızda güncelleme yapabilirim.

Saygılarımla

Evet, comboboxta sadece benzersiz kayıtlar gösterilmesini istiyorum.
Listede seçilip sayfa 3 aktarılan ismin sayfa 1 den silinmesini istemiyorum aslında, sadece kodlarda list indexe göre range belirlemişssiniz, o nedenle benzersiz kayıtları aldığımızda aşağıda kalan aynı kayıdı görmesi için eklediğimizi silmemiz gerektiğini düşünüyorum, diğer döngüde diğer kayıdı yakalamak amacıyla.

Ama eğer satırı silmeden yapabilirsek daha iyi olur benim için.
 
Evet, comboboxta sadece benzersiz kayıtlar gösterilmesini istiyorum.
Listede seçilip sayfa 3 aktarılan ismin sayfa 1 den silinmesini istemiyorum aslında, sadece kodlarda list indexe göre range belirlemişssiniz, o nedenle benzersiz kayıtları aldığımızda aşağıda kalan aynı kayıdı görmesi için eklediğimizi silmemiz gerektiğini düşünüyorum, diğer döngüde diğer kayıdı yakalamak amacıyla.

Ama eğer satırı silmeden yapabilirsek daha iyi olur benim için.

Anlaşıldı.

ComboBox'a benzersiz kayıtları alacağım dediğiniz zaman,
sayfadaki verilerin daha doğrusu aynı isime ait mükerrer verilerin bulunduğunu dikkate alırsak ,form üzerinde bulunan mevcut öğeler ile sizin istediğiniz işlemler yapılamaz.

Burada ;
eğer sayfa 3 te aynı kayıt mevcut ise soru sormadan diğer kayıda atlasın.
Aynı kayıt hangi kritere göre aranacak ?

İsim , Ürün ,Adet kriterlerine göre ayarlandı. Uygun değil ise kendiniz kodlarda değişiklik yapınız.
Dosya güncellendi.
 

Ekli dosyalar

Anlaşıldı.

ComboBox'a benzersiz kayıtları alacağım dediğiniz zaman,
sayfadaki verilerin daha doğrusu aynı isime ait mükerrer verilerin bulunduğunu dikkate alırsak ,form üzerinde bulunan mevcut öğeler ile sizin istediğiniz işlemler yapılamaz.

Burada ;

Aynı kayıt hangi kritere göre aranacak ?

İsim , Ürün ,Adet kriterlerine göre ayarlandı. Uygun değil ise kendiniz kodlarda değişiklik yapınız.
Dosya güncellendi.

Sayın Kuman gerçekten çok teşekkürler değerli bilgilerinizi paylaştığınız için ancak şunu yapmak mümkün müdür? Listede sayfa3 e eklediğimiz kayıtları tuşa bastığımızda listeden silebilir miyiz, sayfa 3 eklenen kayıtlar listede gözükmesin tüm kayıtlar eklenince listede hiç kayıt gözükmesin?
 
Sayın Kuman gerçekten çok teşekkürler değerli bilgilerinizi paylaştığınız için ancak şunu yapmak mümkün müdür? Listede sayfa3 e eklediğimiz kayıtları tuşa bastığımızda listeden silebilir miyiz, sayfa 3 eklenen kayıtlar listede gözükmesin tüm kayıtlar eklenince listede hiç kayıt gözükmesin?

Pekala gözükmesin.
Değişiklik yapıldı.
 

Ekli dosyalar

Son düzenleme:
Pekala gözükmesin.
Değişiklik yapıldı.

Teşekkür ederim....

Son sorum söz:)

Listboxta 5 sütun yerine 15 sütun yaparak formülü geliştirdim, a sütunundan o ya kadar gidiyor, k,l,m sütunları sayı değerleri içermekte, sizin kodlarınıza göre ayarladığımda, 10. satır (s,10) da hata veriyor, biraz araştırdım bu listboxun sadece 10 değere kadar alabileceğinden dolayı 11. veriyi alamıyor sonucuna ulaştım, sonuç için tool menüsü altında mask geçitleri ile ilgili bir ayardan bahsediliyor ancak onuda bulamadım, bu konuda da yardımlarınızı rica ederim.
 
Evet Listbox'da en fazla 10 sütun görüntülenebilir.
İfade ettiğize göre j sütununa kadar görebilirsiniz.
Mevcut halde ListView kullanılmalıdır.
 
Teşekkür ederim....

Son sorum söz:)

Listboxta 5 sütun yerine 15 sütun yaparak formülü geliştirdim, a sütunundan o ya kadar gidiyor, k,l,m sütunları sayı değerleri içermekte, sizin kodlarınıza göre ayarladığımda, 10. satır (s,10) da hata veriyor, biraz araştırdım bu listboxun sadece 10 değere kadar alabileceğinden dolayı 11. veriyi alamıyor sonucuna ulaştım, sonuç için tool menüsü altında mask geçitleri ile ilgili bir ayardan bahsediliyor ancak onuda bulamadım, bu konuda da yardımlarınızı rica ederim.
Eğer listbox'a verileri additem yöntemi ile alırsanız,bu çok hantal olur.Çok yavaşlar programınız,buna ilaveten additem metodunun sütun sınırlaması vardır.Söylediğiniz gibi 10 sütun ile sınırlıdır.
Ama 10 sütundan ve additem metdonunun hantallığından kurtulmanın yolları vardır.
Birincisi rowsource yöntemi.Eğer koşul içeren bir veri alıyorsanız koşula uyan verileri başka bir sayfaya atın.Ve rowsource ile verileri oradan alın.Koşul içermiyorsa direk aralığı alabilirsiniz.
2nci yöntem dizi yöntemidir.Bu yöntemde nerede ise rowsource yöntemine yakın bir hızda verileri listboxa alır.
Bundada kolon sınırı yoktur.Direk verilerinizi sorgulayarak verilerinizi diziye alabilir,oradanda listboxın column metodunla veya list metonunla dizinin durmuna göre verilirinizi hızlı bir şekilde alabilirsiniz.Koşul içermeyen verileride
aralığı vererek listboxa direk alabilirsiniz.
Örnek:
Kod:
listbox1.list=range("A1:K1000").value
Not listboxın kolon adedini vermeyi unutmayın.Listbox1.columncount=15 (sütun sayısı ne kadarsa)
Bu yöntemler listviewden daha hızlı çalışacaktır.
Kolay gelsin.:cool:
 
Eğer listbox'a verileri additem yöntemi ile alırsanız,bu çok hantal olur.Çok yavaşlar programınız,buna ilaveten additem metodunun sütun sınırlaması vardır.Söylediğiniz gibi 10 sütun ile sınırlıdır.
Ama 10 sütundan ve additem metdonunun hantallığından kurtulmanın yolları vardır.
Birincisi rowsource yöntemi.Eğer koşul içeren bir veri alıyorsanız koşula uyan verileri başka bir sayfaya atın.Ve rowsource ile verileri oradan alın.Koşul içermiyorsa direk aralığı alabilirsiniz.
2nci yöntem dizi yöntemidir.Bu yöntemde nerede ise rowsource yöntemine yakın bir hızda verileri listboxa alır.
Bundada kolon sınırı yoktur.Direk verilerinizi sorgulayarak verilerinizi diziye alabilir,oradanda listboxın column metodunla veya list metonunla dizinin durmuna göre verilirinizi hızlı bir şekilde alabilirsiniz.Koşul içermeyen verileride
aralığı vererek listboxa direk alabilirsiniz.
Örnek:
Kod:
listbox1.list=range("A1:K1000").value
Not listboxın kolon adedini vermeyi unutmayın.Listbox1.columncount=15 (sütun sayısı ne kadarsa)
Bu yöntemler listviewden daha hızlı çalışacaktır.
Kolay gelsin.:cool:

Ne diyim bu kadar hızlı bu kadar açık ve uygun bir ifade kullanımıyla sorularıma cevap alabildiğim bu siteye iyiki üye olmuşumki, bilgisini hiçbir amaç gütmeden paylaşmaktan çekinmeyen değerli insanlarla iletişim kurma fırsatı kurabildim.

Çok teşekkürler.
 
Geri
Üst