Bu dosya, çalışma sayfasında karışık sırayla yazılmış verileri UserForm üzerindeki ComboBox nesnesine alfabetik sırada yükler. Sıralama işlemi herhangi bir Excel fonksiyonuyla değil, geleneksel VBA yöntemiyle yapılır. Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Dosyanın içeriği
- Sayfa1: A1:A5 aralığında karışık sırada beş isim bulunur (Ali, Salim, Naci, Ayşe, Eyşan). Sayfada UserForm1'i açan bir komut düğmesi yer alır.
- UserForm1: Üzerinde ComboBox1 nesnesi bulunan form. Form açılırken liste otomatik doldurulur.
- Module1: Sıralama işlemini yapan OrganizeComboBox prosedürünü içerir.
Makrolar
- CommandButton1_Click (Sayfa1): Düğmeye tıklandığında UserForm1'i etkileşimsiz (modless) olarak açar.
- UserForm_Initialize (UserForm1): Form adını kaydeder, ComboBox1'in RowSource özelliğini Sayfa1'in A1:A1000 aralığına bağlar ve OrganizeComboBox prosedürünü çağırır.
- OrganizeComboBox (Module1): Formdaki ComboBox nesnelerini tarar. RowSource aralığındaki değerleri bir diziye alır, tekrar eden kayıtları temizler, RowSource bağlantısını kaldırır ve kalan değerleri bir Collection içinde karşılaştırarak küçükten büyüğe sıralar. Sıralanan değerler AddItem ile ComboBox'a eklenir.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Sayfa1'deki komut düğmesine tıklayarak UserForm1'i açın.
- ComboBox1 listesini açın; isimler alfabetik sırada listelenir.
- Kendi verinizi kullanmak için A sütunundaki isimleri değiştirin. Kod A1:A1000 aralığını okur.
- Başka bir forma uyarlamak için Module1'i projeye aktarın, formun Initialize olayında ComboBox'ın RowSource özelliğini ayarlayıp OrganizeComboBox prosedürünü çağırın.