• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Veri Doğrulama Üçlü Tekrarsız-Yardım

  • Konbuyu başlatan Konbuyu başlatan mekist
  • Başlangıç tarihi Başlangıç tarihi
Göndermiş olduğunuz dosya ekteki resim gibi

Kod:
Örneğin; Kategoride bisküvi seçilince bisküvi altındaki markalar gelsin, Marka seçiminde de Hero Baby seçilince bu markanın satıldığı iki üretici gelsin, (Okul kantini ve Samandıra Market)
Aynı markanın bebek maması altında satılan Mehmet Bakkal gelmesin.
Ek olarak Kategori seçtikten sonra Marka adları tek gelmeli, Hero Baby iki tane olduğu için filtreye iki satır olarak gelmemeli

buradaki kategoride bisküvi seçince bisküvi altındaki markalar resimde hangileri

Resimde renklendirdim,
Ortadaki resim Kategori=Marke eşlemesi için, sağdaki resimde de Marka=Üretici eşlemesi,
Bisküvi=Hero Baby=Okul Kantini ve Toprak Market
Tek bir data olacak şekilde birleştirebiliriz,
 

Ekli dosyalar

  • Üçlü Seçim.PNG
    Üçlü Seçim.PNG
    26.3 KB · Görüntüleme: 6
11 nolu mesajdaki dosyanızda siz bunları yapmışsınız
 
11 nolu mesajdaki dosyanızda siz bunları yapmışsınız
Son halinde bazı marka seçimlerinde hataya takılıyor,
Dosyanın son halini ekte paylaşıyorum, hata aldığım marka seçimini de ekranda iletiyorum,

Bu kodda hata veriyor,
ComboBox3.Text = ComboBox3.List(ComboBox2.ListIndex)
 

Ekli dosyalar

kodu bununla değiştir.

Kod:
Private Sub ComboBox1_Click()

ComboBox2.Clear
For j = 2 To Worksheets("Data").Cells(Rows.Count, 3).End(3).Row
If Worksheets("Data").Cells(j, 3).Value = ComboBox1.Text Then
ComboBox2.AddItem Worksheets("Data").Cells(j, 4).Value
End If
Next j
ComboBox2.Text = ComboBox2.List(0)

End Sub

Private Sub ComboBox2_Click()
ComboBox3.Clear
i = ComboBox2.ListIndex + 2

For j = 2 To Worksheets("Data").Cells(Rows.Count, 6).End(3).Row
If Worksheets("Data").Cells(j, 7).Value = ComboBox2.Text Then
ComboBox3.AddItem Worksheets("Data").Cells(j, 8).Value
End If
Next j
ComboBox3.Text = ComboBox3.List(0)

End Sub
 
asri üstad teşekkür ederim,
Çalışma dosyasını dış ekibe gönderip veri doldurmasını isteyeceğiz, bu nedenle bir iki düzeltme ihtiyacı oldu,
Marka ve Üretici satırına listeden seçim haricinde giriş engellenebilir mi? ( Diğer satırları veri doğrulama ile engelledim)
Birde sayfada değişiklik yapmamaları için sayfayı koru dediğimde makro hata verdi, ( işlem yapılan satırlarda koruma yapmadım)

Dosya güncellendi.
Kullanıcı hataları ve kasıtlı işlemlerine karşı kontrol eklendi.
Veri doğrulamalı hücreler silinse bile program girişi kabul etmeyip uyarı veriyor ve hücreleri yeniden düzenliyor.

Kontrol ediniz
 
kodu bununla değiştir.

Kod:
Private Sub ComboBox1_Click()

ComboBox2.Clear
For j = 2 To Worksheets("Data").Cells(Rows.Count, 3).End(3).Row
If Worksheets("Data").Cells(j, 3).Value = ComboBox1.Text Then
ComboBox2.AddItem Worksheets("Data").Cells(j, 4).Value
End If
Next j
ComboBox2.Text = ComboBox2.List(0)

End Sub

Private Sub ComboBox2_Click()
ComboBox3.Clear
i = ComboBox2.ListIndex + 2

For j = 2 To Worksheets("Data").Cells(Rows.Count, 6).End(3).Row
If Worksheets("Data").Cells(j, 7).Value = ComboBox2.Text Then
ComboBox3.AddItem Worksheets("Data").Cells(j, 8).Value
End If
Next j
ComboBox3.Text = ComboBox3.List(0)

End Sub
Üretici seçiminde Marka=Üretici eşlemesini kontrol ediyor, Kategoriyi de kontrol etmesi gerekiyor,
Bisiküvi seçtim Sonra Hero Baby seçtim, Üretici alanında Mehmet Bakkal da geldi,
Mehmet Bakkal Bebek Maması kategorisinin altındaki Hero Baby markasının altında var,
 

Ekli dosyalar

  • Userform Görüntü.PNG
    Userform Görüntü.PNG
    41.5 KB · Görüntüleme: 5
  • Üçlü Seçim.PNG
    Üçlü Seçim.PNG
    17.2 KB · Görüntüleme: 2
Bu şekilde olmaz Elbette mehmet bakkal gelecek ve de akul kantini ve toprak market gelecek seçeneklerin yanında bunlar var.
Data sayfasını yeniden kurgulamak gerekiyor
 
şimdi anladım kodu bu şekilde düzenle

Kod:
Private Sub ComboBox2_Click()
ComboBox3.Clear
i = ComboBox2.ListIndex + 2

For j = 2 To Worksheets("Data").Cells(Rows.Count, 6).End(3).Row
If Worksheets("Data").Cells(j, 7).Value = ComboBox2.Text Then
If Worksheets("Data").Cells(j, 6).Value = ComboBox1.Text Then
ComboBox3.AddItem Worksheets("Data").Cells(j, 8).Value
End If
End If
Next j
ComboBox3.Text = ComboBox3.List(0)

End Sub
 
şimdi anladım kodu bu şekilde düzenle

Kod:
Private Sub ComboBox2_Click()
ComboBox3.Clear
i = ComboBox2.ListIndex + 2

For j = 2 To Worksheets("Data").Cells(Rows.Count, 6).End(3).Row
If Worksheets("Data").Cells(j, 7).Value = ComboBox2.Text Then
If Worksheets("Data").Cells(j, 6).Value = ComboBox1.Text Then
ComboBox3.AddItem Worksheets("Data").Cells(j, 8).Value
End If
End If
Next j
ComboBox3.Text = ComboBox3.List(0)

End Sub
Çok teşekkür ederim üstad tamam oldu şimdi
 
Dosya güncellendi.
Kullanıcı hataları ve kasıtlı işlemlerine karşı kontrol eklendi.
Veri doğrulamalı hücreler silinse bile program girişi kabul etmeyip uyarı veriyor ve hücreleri yeniden düzenliyor.

Kontrol ediniz
Üstad Merhaba,
Dosyadaki bazı kodlar şirketin güvenlik duvarına takılıyor, Tamam dedikten sonra sol üs köşeden kapatınca sorun kalmıyor çalışıyor fakat güvenlik duvarına hangi kodlar takılmasına neden oluyor,
Veri girişi yapılan hücrelerin dışındaki hücrelere veri girişi engellenebilir mi. ( hücre kilitleme veya veri doğrulama ile yapıyorum makro tekrar aktif yapıyor)
D ve E hücrelerinin arka plan renginin değişmesini engellemek mümkün müdür, veri girilince beyaz oluyor,
 

Ekli dosyalar

  • Güvenlik Hatası.PNG
    Güvenlik Hatası.PNG
    51.9 KB · Görüntüleme: 4
Dosyadaki kodlar açık, güvenlik ile ilgili bir durum yok.
Scrollarea özelliği kullanılarak B ve H kolonları dışına çıkılması engellendi.
İçerik silindiğinde renk ve çerçeve ayarı yapıldı.
Renk kodunu sayfa kod içinde boya bölümünde tanımlayabilirsiniz.

Kullanıcının tüm alanları doldurması bekleniyor, bu durumda neresi kısıtlanacak ki,
 

Ekli dosyalar

Dosyadaki kodlar açık, güvenlik ile ilgili bir durum yok.
Scrollarea özelliği kullanılarak B ve H kolonları dışına çıkılması engellendi.
İçerik silindiğinde renk ve çerçeve ayarı yapıldı.
Renk kodunu sayfa kod içinde boya bölümünde tanımlayabilirsiniz.

Kullanıcının tüm alanları doldurması bekleniyor, bu durumda neresi kısıtlanacak ki,
Tablo haricindeki alanlar için istemiştim, Scrollarea özelliği ile istediğim oldu,
Teşekkür ederim hakkınızı helal edin,
 
Geri
Üst