• DİKKAT

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

DİNAMİK LİSTBOX

Katılım
23 Mart 2009
Mesajlar
21
Excel Vers. ve Dili
Office 2016 - Türkçe
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

Bu konuda yardımcı olabilecek arkadaşlar için açıklamayı resim olarak da ekliyorum.
Umarım sakıncası yoktur.
220760
 
Ö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.
 
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.
 
Bu tarz bir işlemde kaynak verinin harf sıralamasında olması gerekir.
 
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.
 
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
 
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
 
Geri
Üst