DİNAMİK LİSTBOX

Katılım
23 Mart 2009
Mesajlar
21
Excel Vers. ve Dili
Office 2016 - Türkçe
Altın Üyelik Bitiş Tarihi
13/06/2022
Merhabalar,
Bu konu ile ilgili gerek forum içerisinde (örnek: https://www.excel.web.tr/threads/dinamik-listbox.179485/ bende bu sayfa da paylaşılan video ile yaptım ilk olarak) gerekse internette bir çok araştırma yaptım. Lakin bir çözüm bulamadım. Yardımcı olabilirseniz memnun olurum.

Çalışma dosyasını ekledim ve içerisinde de açıklama yazdım.

Burada yapmak istediğim işlem; "listbox1" de makineyi seçtiğimde,
"listbox2" de "MODELLER" sayfasında ki, seçilen makineye ait "RUMUZ"ların yazması.

Yaptığım denemelerde, makineyi seçince, o makineye ait rumuzlar ya hiç gelmiyor yada rumuzların hepsini yazmıyor, (örnek; 8 adet rumuz varken - 3 tanesini yazıyor sadece) ayrıca bazen alt sırada ki makineye ait rumuzu ekliyor. (örnek: çalışma dosyasında ki, hatalı çalışma-1 v hatalı çalışma-2 resimlerinde görebilirsiniz).

NOT: VBA makro ile yapılması istenmiyor. (çok daha kolay olur düşüncesindeyim ama maalesef istenmiyor)
 

Ekli dosyalar

Katılım
23 Mart 2009
Mesajlar
21
Excel Vers. ve Dili
Office 2016 - Türkçe
Altın Üyelik Bitiş Tarihi
13/06/2022
Bu konuda yardımcı olabilecek arkadaşlar için açıklamayı resim olarak da ekliyorum.
Umarım sakıncası yoktur.
220760
 
Katılım
23 Mart 2009
Mesajlar
21
Excel Vers. ve Dili
Office 2016 - Türkçe
Altın Üyelik Bitiş Tarihi
13/06/2022
Özet tablo ile yapmayı denediniz mi ?
Özet tablo ile denedim, "Dilimleyici" ile o görselliği sağlayabiliyorum.
Eğer, rumuz kısmında tıkladığım veriyi herhangi bir hücreye yazdırmanın bir yolu varsa işimi görür.
Rumuz seçimine göre, makinelerin özelliklerini ve fiyatlarını otomatik olarak çekeceğim.

220763

Normalde "veri doğrulama" da "dolaylı" formülü ile kullanarak hazırladım, ama makine sayısı çok olduğundan ve ilerleyen dönemde daha da artacağından seçimi zor oluyor ve patronumuz kullanımda zorluk çekiyor.
 
Katılım
23 Mart 2009
Mesajlar
21
Excel Vers. ve Dili
Office 2016 - Türkçe
Altın Üyelik Bitiş Tarihi
13/06/2022
O zaman kodlamaya girer iş.
Kodlama ile yapabilmeniz mümkün mü? Çok zamanınızı almayacaksa eğer.

Kodlama dışında, benim dediğim yönmetde, "listbox2" de veriyi çekmesi için ad olarak tanımladığım formül

"=KAYDIR(ARAMA!$A$1;KAÇINCI(ARAMA!$A$1;MODELLER!$A:$A;0);1;EĞERSAY(MODELLER!$A:$A;ARAMA!$A$1);1)"

bu formülasyonda hata nereden kaynaklanıyor olabilir.
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,633
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Bu tarz bir işlemde kaynak verinin harf sıralamasında olması gerekir.
 
Katılım
23 Mart 2009
Mesajlar
21
Excel Vers. ve Dili
Office 2016 - Türkçe
Altın Üyelik Bitiş Tarihi
13/06/2022
Bu tarz bir işlemde kaynak verinin harf sıralamasında olması gerekir.
Modeller sayfasında ki listeye baktığımızda, sonradan adı değiştirilen birkaç makine dışında, genel olarak alfabetik olarak sıralandığını görebilirsiniz. (makine adı ve yanında ki rumuzlarda herhangi bir kayma söz konusu değil).

Harf sıralaması olmaması, formülasyonda ne gibi bir hataya sebep oluyor.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,712
Excel Vers. ve Dili
Excel 2019 Türkçe
Bu şekilde dener misiniz ?
Kod:
Private Sub ListBox1_Click()
    Set x = Sheets("Modeller").Columns(1).Find(ListBox1.List(ListBox1.ListIndex))
    a = WorksheetFunction.CountIf(Sheets("Modeller").Columns(1), x.Text)
    ListBox2.ListFillRange = "MODELLER!" & Range("B" & x.Row & ":B" & x.Row + a - 1).Address
End Sub
 
Katılım
23 Mart 2009
Mesajlar
21
Excel Vers. ve Dili
Office 2016 - Türkçe
Altın Üyelik Bitiş Tarihi
13/06/2022
Bu şekilde dener misiniz ?
Kod:
Private Sub ListBox1_Click()
    Set x = Sheets("Modeller").Columns(1).Find(ListBox1.List(ListBox1.ListIndex))
    a = WorksheetFunction.CountIf(Sheets("Modeller").Columns(1), x.Text)
    ListBox2.ListFillRange = "MODELLER!" & Range("B" & x.Row & ":B" & x.Row + a - 1).Address
End Sub
çok teşekkür ederim. Ellerinize sağlık
 
Üst