Butonla veri doğrulama ekleme

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Merhaba hayırlı geceler.

Ekte gönderdiğim excel dosyamda, butona bastığımda ASLAN sayfası F7 ile F56 arasına arasına MAHALLELER sayfasından veri doğrulama olarak ilçeleri ekliyorum.
Aynı işlemi G7 ile G56 arasına MAHALLELER sayfasından mahalleleri veri doğrulama olarak ekleyemiyorum, kod hata veriyor.
Makro ile bu işlemleri yapıyorum, sonra makroyu çalıştırdığımda kod hata veriyor.

Yapmak istediğim örneğin F7 hücresinden hangi ilçeyi seçersem, G7 hücresine o ilçeye ait mahallelerin gelmesini istiyorum.

Yardımcı olur musunuz?
 

Ekli dosyalar

Son düzenleme:

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Ekte gönderdiğim Örnek2 dosyasında da veri doğrulama var, bu veri doğrulamada hangi harfi seçersem o iller geliyor.

Bu formülü önceki gönderdiğim Örnek1 sayfasında Mahallelerin geldiği G7 hücresine veri doğrulama eklemeye çalıştım ancak hep hata verdi.
Bu işlemlerin butonla olmasını istiyorum.

Yardımcı olur musunuz?
 

Ekli dosyalar

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Sayın İdris Bey'in çalışmalarındaki formülü örnek sayfama ekledim, veri doğrulama işlemini makro ile çalıştırdığımda hata veriyor.

Bu işlem çözülürse, G7:G56 arasındaki hücrelerden hangi harfi seçersem o ilçeye ait mahallelerin gelmesini istiyorum.

Yardımcı olur musunuz?
 

Ekli dosyalar

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
#1 Mesajınızdaki Çözüm:
Kod:
Sub İlçelerVeriDoğrulama()
With Sheets("ASLAN").Range("F7:F56").Validation
    .Delete
    .Add Type:=xlValidateList, Formula1:="=MAHALLELER!$A$1:$A$25"
    .ShowError = False
[F7] = "ALTINDAĞ"
    End With

With Sheets("ASLAN").Range("G7:g56").Validation
    .Delete
    .Add Type:=xlValidateList, Formula1:="=INDIRECT(F7)"
    .ShowError = False
    End With
Sheets("ASLAN").Range("f7:G56") = Empty
   
End Sub
#2 Mesajınızdaki Çözüm:
Eğer LİSTE sayfanızda veriler 1. satırdan başlıyorsa;
Veri dorulamada kullanacağınız formül şöyle olmalıdır.

=DOLAYLI("'LİSTE'!A"&KAÇINCI($G7&"*";LİSTE;0)&":A"&EĞERSAY(LİSTE;$G7&"*")+KAÇINCI($G7&"*";LİSTE;0)-1)

Bu ikisini kullanarak #3 No.lu mesajınızdaki soruyu kendiniz çözebilirsiniz.
İyi çalışmalar.
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Sayın turist, ellerinize sağlık çok teşekkür ediyorum, Allah razı olsun, inanın akşamdan beri bununla uğraşıyorum. Bu da işimi en iyi şekilde görür.

Bazı ilçelerin mahalleleri çok uzun olduğu için hücredeki veri doğrulamadan aşağı doğru bulmak zor oluyor.

Örneğin Çankaya ilçesinin 124 tane mahallesi var, F7 hücresinden Çankaya'yı seçtiğimde G7 hücresinde A harfini yazdığımda sadece A harfi ile başlayan mahalleler gelse, bu şekilde yapabilir misiniz?

2. masajımda böyle bir çalışma var, bu işlemde sadece bir sütün için yapılmış, bu yüzden bütün ilçeler için uyarlayamadım.
 
Son düzenleme:

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Ekli dosyada herhangibir makro kodu kullanılmamıştır.
G7 ve aşağıya doğru tüm satırlarda Veri Doğrulama "Formül" kullanılarak düzenlenmiştir.
Uygulamanın sonuçları inceleyiniz.
 

Ekli dosyalar

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Sayın turist ellerinize sağlık çok teşekkür ediyorum, çalışma sayfamda iki türlü işlem yapıldığı için makro ile istemiştim.

Bu işlemi önceki mesajınızdaki gibi makro ile yazdırabilirsek çok süper olacak.
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Sayın turist sizin örneklerden yola çıkarak, G7'deki veri doğrulama formülünü ad yöneticisinde MAHALLE1 olarak tanıtıp, aşağıdaki kod arasına uygulayınca istediğim oldu.

Çok teşekkür ediyorum, ellerinize sağlık, gece gece benim için uğraştınız, hayırlı geceler, hayırlı çalışmalar diliyorum.

Kod:
Sub İlçelerVeriDoğrulama()
With Sheets("ASLAN").Range("F7:F56").Validation
    .Delete
    .Add Type:=xlValidateList, Formula1:="=MAHALLELER!$A$2:$A$26"
    .ShowError = False
[F7] = "ALTINDAĞ"
    End With

With Sheets("ASLAN").Range("G7:g56").Validation
    .Delete
    .Add Type:=xlValidateList, Formula1:="=MAHALLE1"
    .ShowError = False
    End With
Sheets("ASLAN").Range("f7:G56") = Empty
End Sub
 

Ekli dosyalar

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Sayın turist çok teşekkür ediyorum, Allah razı olsun.

Hayırlı çalışmalar, hayırlı geceler diliyorum.
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Aslan Bey, sağolun.
 
Üst