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

mekist

Altın Üye
Katılım
13 Ağustos 2008
Mesajlar
257
Excel Vers. ve Dili
Office 365 ProPlus-Türkçe
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

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,757
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
11 nolu mesajdaki dosyanızda siz bunları yapmışsınız
 

mekist

Altın Üye
Katılım
13 Ağustos 2008
Mesajlar
257
Excel Vers. ve Dili
Office 365 ProPlus-Türkçe
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

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,757
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
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
 
Katılım
24 Nisan 2005
Mesajlar
3,652
Excel Vers. ve Dili
Office 2016 EN 64 Bit
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
 

mekist

Altın Üye
Katılım
13 Ağustos 2008
Mesajlar
257
Excel Vers. ve Dili
Office 365 ProPlus-Türkçe
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

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,757
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
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
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,757
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
ş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
 

mekist

Altın Üye
Katılım
13 Ağustos 2008
Mesajlar
257
Excel Vers. ve Dili
Office 365 ProPlus-Türkçe
ş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
 

mekist

Altın Üye
Katılım
13 Ağustos 2008
Mesajlar
257
Excel Vers. ve Dili
Office 365 ProPlus-Türkçe
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

Katılım
24 Nisan 2005
Mesajlar
3,652
Excel Vers. ve Dili
Office 2016 EN 64 Bit
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

mekist

Altın Üye
Katılım
13 Ağustos 2008
Mesajlar
257
Excel Vers. ve Dili
Office 365 ProPlus-Türkçe
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,
 
Katılım
24 Nisan 2005
Mesajlar
3,652
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Tablo haricindeki alanlar için istemiştim, Scrollarea özelliği ile istediğim oldu,
Teşekkür ederim hakkınızı helal edin,
Helal olsun. Kolay gelsin.
 
Üst