Fiyat Hesaplama Sisteminde Onay Kutusu Pasif etme ve Varsayılan Liste sorunu

Katılım
5 Şubat 2016
Mesajlar
274
Excel Vers. ve Dili
Office 365 Türkçe
Öncelikle tüm üstatlara selamlar olsun.
Aşağıdaki linkte kendi yaptığım fiyat hesaplama sistemini paylaştım. Fakat içinden çıkamadım bir kaç unsur oldu ve yardımınıza ihtiyaç duydum.Şöyle ki;

  1. 9.Sınıf ve üstü sınıf seçilirse Açılışa Özel İndirim isimli onay kutusu pasif olsun ve işaretlenmesin ve işaret varsa silinsin diğer iki kutu aktif kalacak.
  2. Profil menüsünde ise Personel indirimi seçildiği taktirde Ek indirim sekmesinde mevcut olan tüm onay kutucukları pasif olsun ve işaretlenmesin,işaret varsa silinsin.
  3. Servis menüsünde mevcut olan Ring seçeneği sadece 9.Sınıf ve üstü seçildiğinde seçeneklerde gözüksün.
  4. C10 sekmesini ise diğerleri gibi para birimi olarak göstermeye çalıştım fakat gösteremedim.
  5. Kayıt Döneminde olan aylar içinde bulunduğumuz aya göre otomatik seçsin.
İçinden çıkamadığım hususlar bunlar eğer çözülme imkanı var ise çok müteşekkir olurum. Şimdiden teşekkür ederim.


http://dosya.co/jo3a75qe8qm7/Calculator_STs.xlsm.html
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.

İstediğiniz hususlara bakıldığında ilk önerim; sayfada kullanılan nesnelerin türüne ilişkin olacak.
Nesneleri, FORM DENETİMLERİ bölümündekilerden değil, ACTIVEX DENETİMLERİ bölümündekilerden seçerek oluşturmanız yönünde olacak.

Örnek belgenize göre bazı belirsizlikler var sanki.
SINIF ve PROFİL kısmındaki seçimlerin birbiriyle ilişkisini netleştirmelisiniz.
SINIF kısmında 9'uncu sınıf veya sonraki bir sınıf seçildiğinde, PROFİL kısmındaki YENİ ve PERSONEL seçimleri seçeneklerinin durumuna göre sağdaki ONAY KUTULARInın durumunu netleştirmelisiniz.

Nesneleri ActiveX denetimleri bölümündeki nesnelerle değiştirirseniz belirttiğiniz hussuların gerçekleştirilmesinin daha kolay olacağını sanıyorum.
8'inci sınıf ve PERSONEL seçildiğinde ne olacak? 10'uncu sınıf ve YENİ KAYIT seçildiğinde ne olacak gibi netleştirmenizgereken durumlar var.
Bu nesneleri bence kendiniz de kodlayabilirsiniz ve bunun için nesnelerin ENABLED özelliğini TRUE/FALSE yaparak AKTİF/PASİF hale getirebilirsiniz.

Kolay gelsin.
 
Katılım
5 Şubat 2016
Mesajlar
274
Excel Vers. ve Dili
Office 365 Türkçe
Ömer hocam activex olayını çok denedim fakat onu yapabilecek donanıma sahip olmadığımı farkettim. Boş boş baktım ekrana. Mesela sistem normal açılır listede belirlenen rakama göre sayı atayarak düşeyara sistemi ile çalıştığı için 10.sınıfı seçsem fiyatlar neye göre ve nasıl atayacak onu bilemiyorum. Mesela şart olayını nasıl sağlayabiliyoruz onu bilmiyorum örnek veriyorum. Ben 10.sınıfı seçtim 3 onay kutusundan 2 tanesini aktif birini pasif etsin istiyorum bunun kodu nedir mesela ? 1.2. ve kutu aktif 3. kutu pasif olacak. Bir de işaretlediğim kutu c3 hücresine 5 yazmasını nasıl sağlayacağım gibi . Buralarda takılıyorum işte.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Combobox1 ve Combobo2'deki seçimler CheckBox nesnelerinin durumunu değiştireceğine göre;
aşağıdaki gibi bir mantıkla kodlamayı kendiniz de yapabilirsiniz diye düşünüyorum.

Aynı kod yapısının her iki Combobox nesnesi için aynı şekilde yapılması gerekecektir.
Aşağıdaki örnek kodlamada, konu sayfasındaki açıklamalarınızın karşılanması amaçlanmadı, True/False değerlerini kendiniz değiştireceksiniz.
Çünkü koşullarınızı tam olarak anlamış değilim.
Örneğin CheckBox1=False satırı, işaretli ise ilgili CheckBox'n işaretini kaldırır, ....=True satırı eklerseniz CheckBox'u işaretli hale getirirken,
CheckBox1.Enabled = True satırı ilgili ChecBox nesnesini AKTİF hale getirir, CheckBox1.Enabled = False şeklindeki satır ise PASİF hale getirir.
Ayrıca Combobox.ListIndex değerinin 0'dan başladığını unutmayınız, bu değer 0 ise Combobox'un ilk satırı seçilmiş demektir.

Belge'de GELİŞTİRİCİ menüsündeki TASARIM MODU düğmesine tıklayıp Combbobox'ları tek tek seçerek ÖZELLİKLER seçeneğini seçin ve bu nesneler için ListFillRange (liste kaynağının ADRESİ) ve LinkedCell (seçim sonucunun yazılacağı ADRES) kısımlarının karşısına ilgili adreseleri yazarak işe başlayın.
Beklenen HESAPLAMA olayını en sona bırakın bence, öncelikle nesnelerin AKTİF/PASİF ve İŞARETLİ/İŞARETSİZ olmasıyla ilgili akışın sorunsuz ve istenilenlerin gerçekleştiğinden emin oldukta sonra HESAPLAMA kısmı halledilebilir.
Rich (BB code):
Private Sub ComboBox1_Change()
If ComboBox1.ListIndex < 9 And ComboBox2.ListIndex = 0 Then
    CheckBox1.Enabled = True
    CheckBox1 = False
ElseIf ComboBox1.ListIndex > 8 And ComboBox2.ListIndex = 0 Then
    CheckBox1.Enabled = True
    CheckBox1 = True
ElseIf ComboBox1.ListIndex > 8 And ComboBox2.ListIndex = 1 Then
    CheckBox1.Enabled = False
    CheckBox1 = False
ElseIf ComboBox1.ListIndex < 9 And ComboBox2.ListIndex = 1 Then
    CheckBox1.Enabled = False
    CheckBox1 = False
End If
End Sub
 
Katılım
5 Şubat 2016
Mesajlar
274
Excel Vers. ve Dili
Office 365 Türkçe
Korhan hocam ellerinize sağlık tam istediğim gibi olmuş hakkınızı ödeyemem. Sadece şu değişikliğe ihtiyacım var; Profilde personel çocuğu seçili ise E3 hücresindeki burs seçmesi mevcut olan açılır listeyi de aynı şekilde pasif etme imkanımız bulunur mu?

Bir de 9 ve üzerine açılışa özel indirim yapması gerekirken tam tersi 9 ve altına yapıyor. Modüldeki
Kod:
If Val(Deger) >= 9 Then
değerini
Kod:
 If Val(Deger) <= 9 Then
değerini yapmaya çalıştım ama sanırım bir yerde hata yaptım hepsinde açtı onayı.

Ömer hocam sizin de emeğiniz için teşekkür ederim, Korhan hocamızın yaptığı sistem üzerinden sizin yönergelerinizi deneyerek yedek bir dosyada kendimi geliştirmek adına activex şeklinde yapmaya çalışacağım.
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,519
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Birinci mesajınızla son mesajınızı arasında sanki bir çelişki oluştu.

Üstteki mesajımda ki dosyaları güncelledim. Deneyiniz.
 
Katılım
5 Şubat 2016
Mesajlar
274
Excel Vers. ve Dili
Office 365 Türkçe
Hocam, sizin uyarınız ile dediğiniz gibi yanlış yazdığımı fark ettim. Demek istediğim 9 ve üzeri iken aktif olsun yazacağıma pasif yazmışım, hatam için kusura bakmayın. Burs oranı istediğim gibi pasif olmuş teşekkür ederim hocam.
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,519
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
9 ve üzerini seçtikten sonra "Personel indirimi" seçimini değiştirip deneme yapın.

Çünkü "Personel indirimi" seçildiğinde tüm onay kutuları pasif oluyor.
 
Üst