Sayın
Discreum dosyanızda yapılan MANTIK HATASI ile ilgili bir iki şey yazmak istiyorum.
Öncelikle dosyanızda kurgulanan mantığı bozmamak adına bu MANTIK HATASINI ben de devam ettirdim. Ancak olay şu:
Diyelim ki UserForm üzerinde bir ListBox mevcut ve dosya üzerinde sayfa ekledikçe sildikçe ve sayfa isimlerinde değişiklik yaptıkça bu listenin güncellenmesini istiyoruz. Siz sayfa ekleme düğmesine, silme düğmesine tek tek hepsine ListBox liste doldurma kodlarını yazmışsınız. Bunun daha doğrusu şudur: ListBox liste doldurmak için bir Sub prosedür oluşturursunuz ve ListBox listesini doldurmanız gereken her yerde bu prosedürü çağırırsınız. Böylece;
1- Daha az kod yazarsınız.
2- Kod karmaşası olmaz.
3- Değişiklik yapma ihtiyacı olursa 1 prosedürde değişiklik yaparsınız.
4- Yine değişiklik yaptığınızda acaba diğer kodlarda da aynı değişikliği yaptım mı yapmadım mı karmaşasından kurtulursunuz..
Böylece çok daha dinamik, yazarken hata ihtimalini en aza indiren, kolay yönetilebilir bir kod yapısı oluşturmuş olursunuz.
Dosyanızda sayfadaki aynı veriyi çekerek doldurulan 2 ListBox ve 1 ComboBox var. Siz UserForm İntialize olayında ayrı dolduruyorsunuz, sayfa ekleyince tekrar dolduruyorsunuz, sayfa silince tekrar dolduruyorsunuz. Aynı kodları her yere yazıyorsunuz. Bunun yerine3 prosedür oluşturun.
Sub liste1Guncelle
'Burada ListBox1'i dolduruyoruz.
End Sun
Sub liste2Guncelle
'Burada ListBox2'yi dolduruyoruz.
End Sub
Sub combo1Guncelle
'Burada ComboBox1'i dolduruyoruz.
End Sub
Bu listeleri doldurma ihtiyacı olan yerlerde tekrar tekrar kod yazmak yerine bu prosedürleri çağırın. İş bitsin...
Kalın sağlıcakla.