Merhaba.
Dosyayı siz kullandığınız için siz nasıl isterseniz o şekilde yardımcı oluruz.
Öneri olarak sadece deneyimlerimizi aktara biliriz.
1-) Excel sayfası üzerinde çalışacaksanız Veri doğrulama iyi bir çözüm ancak ad tanımlamanızda KAYDIR fonksiyonu kullanarak dinamik bir alan belirlerseniz daha iyi olur. Hatta AD Tanımla kullanırsanız aynı veriyi çalışmanızın her yerinde rahatlıkla kullana bilirsiniz.
Siz ='Ana Tablo 1'!$B:$B demişsiniz. Burada çift yazılan bir veri varsa onları da çift alır. Seçme kutusu Veri doğrulama, Benzersiz verilerden oluşmuş listelerdir. Amacı bu yani.
Ben çalışmalarımda Seçim yaptıracak isem, VR diye bir sayfa oluşturup tüm seçilmesini istediğim verileri buraya yazıyorum. AD tanımlamasıyla listeyi dinamik olarak tanımlıyorum. Şöyle ki
=KAYDIR($A$2;0;0;EĞERSAY($A$2:$A$500;"<>"))
formülü ile AD tanımlıyorum. Böylece listenin altına ekleme yapsam bile listeye yansıyor. Formül geliştirilebilir.
Bu işlem Form olursa ComboBox lar ile yapılıyor. Hatta daha gelşmişi. Örneğin bazıkoşullara uyanları ComboBox a yükle ve onlardan seçtir diyebilirsiniz. Ürün Kodlarının yanına Depoda var yada yok yazarsınız. Var olanları ComboBox a yüklersiniz böylelikle olmayan ürünlerden seçtirmezsiniz.
2-) ComboBox ları Excel sayfalarına da ekleye bilirsiniz, illaki Form şart değil. Kullanımları biraz değişiyor o kadar.
Excel sayfasındaki bir ComboBox a sayfada ismiyle veri yüklerken ComboBox1.ListFillRange = "VR!A2:A500" ile tanımlarsınız. Form üzerinde olursa ComboBox1.RowSource = "VR!A2:A500" olarak tanımlarsınız. Yine burada da şarta bağlı yüklemeler yapabilirsiniz. Şahsen ben Sayfada çözebiliyorsam form kullanımını çok tercih etmiyorum. Form kullanımını Excel çalışırken kasmasın diye tercih ediyorum. Veri sayım az ise, formüller ve VBA ile çözmeyi tercih ediyorum. Herkesin tercihi farklı olabilir tabi.
3-) Form kullanacaksanız öncelikle tam olarak işleyişin bir şablonunu çıkarmanız gerekiyor. Formdan şu verileri girecem, verileri buradan alıcam, verilerin özellikleri şöyle, Formda kaydedince şu işlemleri yapacak vs gibi. Ona göre kaç tane form olacak, Bu formlar hangi sırayla açılacak vs gibi durumları belirleyecekseniz. Daha sonra Veri giriş sırasını belirleyip TAB tuşuyla imlecin hangi sırayla gezeceğiniz belirleyeceksiniz. Buda Form üzerinde hangi verilerin olacağıyla ilgili. Başta tasarlamak lazım ki sonradan zorluklar yaşanmasın.
Excel sayfasında bir sütun ekleyince oraya bağlı formüller kendiliğinden değişir ancak VBA kodlama öyle olmuyor, sonradan eklenen bir sütun için tüm kodlamayı kontrol etmeniz ve revize etmeniz gerekiyor.
Bu nedenle öncelikle sizin, tam olarak ne istediğinizi oraya koymanız gerekli. Form kullanacaksanız bu formda hangi veriler olacak vs gibi konuları belirtmeniz gerekli. Sizin dosyanızda Ana Tabloda Parça No olarak geçen numaralar bir başka sayfada ürün Referans No başlığında seçiyorsunuz. ( Yukarıdaki Veri Doğrulama İşleminiz.) Bu gibi durumlar Form Veri etiketlerinin de belirleyicisi, ismi ne olacak, tam olarak nereden alınacak, bir sayfada bu başlığa yazılacakken diğer sayfada hangi başlığa yazılacak gibi sorular ortaya çıkartıyor.
Siz tam olarak isteklerinizi belirleye bilirseniz ona göre ilerleriz.
Örneğin: size gönderdiğim ilk ekran görüntüsündeki formu oluşturmanız sadece 2-3 saniyenizi alır. Çalışmanızdaki Veri sayfasındaki Başlıkları seçin. Form düğmesine basın Form hemen oluşur. Veri girişi de yapabilirsiniz. Excelin hazırladığı form olduğu için aşağıya doğru ve verilerin yerini düzenleyemiyorsunuz o kadar




Az olan başlıklarda tercih edilebilir.