Bu dosya, bir UserForm üzerindeki iki ListBox nesnesinin birbiriyle ilişkilendirilmesini gösterir. Birinci ListBox'ta bir ID seçildiğinde, Sheet1 sayfasında bu ID'ye ait satırlar bulunur ve ikinci ListBox'ta listelenir. Seçime bağlı veri getirmek isteyen kullanıcı formları için hazır bir örnektir.
Dosya makro içerir (.xlsm); açarken makroları etkinleştirmeniz gerekir.
Dosya makro içerir (.xlsm); açarken makroları etkinleştirmeniz gerekir.
Dosyanın içeriği
- Sheet1: A1:D101 aralığında veri tablosu bulunur. A sütununda ID değerleri (001245, 001244 gibi), C sütununda City (şehir) bilgisi yer alır. ID değerleri tabloda birden fazla satırda tekrar eder.
- ds: A2:A16 aralığında ID listesi tutulur. Bu aralık ids adıyla tanımlıdır.
- UserForm1: Birinci ListBox (ListBox1) ve ikinci ListBox (ListBox2) nesnelerini barındıran kullanıcı formudur.
Makrolar
UserForm1 içinde tek bir olay prosedürü vardır: ListBox1_Click. ListBox1'de bir öğeye tıklandığında otomatik çalışır, ayrıca çalıştırılması gerekmez. Prosedür sırasıyla şunları yapar:- Sheet1 sayfasında A sütunundaki son dolu satırı belirler.
- ListBox2 içeriğini temizler.
- ListBox1'de seçili değeri alır.
- 2. satırdan son satıra kadar A sütununu tarar; değeri seçilen ID ile eşleşen her satır için D sütunundaki bilgiyi ListBox2'ye ekler.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Alt+F11 ile VBA düzenleyicisini açın ve UserForm1 formunu çalıştırın.
- ListBox1'deki ID listesinden bir değer seçin.
- Seçilen ID'ye ait kayıtlar ListBox2'de listelenir.
- Kendi verinizle kullanmak için Sheet1 sayfasındaki verileri değiştirin; ID listesi için ds sayfasındaki A2:A16 aralığını güncelleyin. Listelenecek bilgi D sütunundan alındığından, veriniz bu sütunda olmalıdır.