Makro ile Veri Doğrulama

casteneda

Altın Üye
Katılım
17 Mayıs 2006
Mesajlar
85
Excel Vers. ve Dili
Excel 2003, Türkçe
Altın Üyelik Bitiş Tarihi
16-02-2026
Herkese iyi çalışmalar. Veri Doğrulama ile oluşturulmuş bir açılır kutulu hücrenin, mouse olmadan seçildiğinde (worksheet SelectionChange) açılır kutu olmasını makro ile nasıl sağlarız. İlgilenen arkadaşlara şimdiden çok teşekkürler.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,731
Excel Vers. ve Dili
Excel 2019 Türkçe
Aşağıdaki şekilde deneyin. "isim" burada belirlediğiniz listeye vereceğiniz addır.

Kod:
Private Sub Worksheet_SELECTIONChange(ByVal Target As Range)
On Error Resume Next
    With Target.Validation
           .Delete
          .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:=isim
    End With
End Sub
 

casteneda

Altın Üye
Katılım
17 Mayıs 2006
Mesajlar
85
Excel Vers. ve Dili
Excel 2003, Türkçe
Altın Üyelik Bitiş Tarihi
16-02-2026
Sn. Hamitcan öncelikle sorumla ilgilendiğiniz için teşekkürler. Ancak çözüm olmadı. Belkide ben tam olarak anlatamadım. Sayfa1 de, G22 Hücresinde
,iskonto oranlarını bildiren ve veri doğrulama ile oluşturulan, Sayfa2 den oranlarını aldığım (25, 25+15, 25+17, 25+35, 25+50), bir açılır kutu olduğunu varsayalım. Bunun üzerine klavye tuşları ile geldiğimde kutunun otomatik olarak açılmasını istiyorum. Bunu kodlarla nasıl yapabiliriz. Kolay gelsin, iyi çalışmalar.
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Veri Doğrulamada kodla listeyi açmak zor gibi gözüküyor. Yalnız, alternatifler üretmek olasıdır. Bunlardan bir kaçı : Veri Doğrulama Listesini, Alt+Aşağı Ok işaretiyle açabiliriz. İkincisi; Combo kullanarak yapılabilir. Bence bu tür uygulamalar için Combo daha elverişlidir. İlgili dosyayı inceleyiniz.
 

Korhan Ayhan

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

Konu ile ilgili fikri Sn. Seyit bey verdi. Bende kodunu uyguladım. Ekteki örnek dosyayı incelermisiniz.

Veri Doğrulamada kodla listeyi açmak zor gibi gözüküyor. Yalnız, alternatifler üretmek olasıdır. Bunlardan bir kaçı : Veri Doğrulama Listesini, Alt+Aşağı Ok işaretiyle açabiliriz. İkincisi; Combo kullanarak yapılabilir. Bence bu tür uygulamalar için Combo daha elverişlidir. İlgili dosyayı inceleyiniz.
 

casteneda

Altın Üye
Katılım
17 Mayıs 2006
Mesajlar
85
Excel Vers. ve Dili
Excel 2003, Türkçe
Altın Üyelik Bitiş Tarihi
16-02-2026
Sn. Cost Control istediğim tam olarak budur. Ancak birşey daha sormak istiyorum, klavye ile hücrenin üzerine gelince hücremiz açılıyor, peki daha sonra ok tuşları veya Tab tuşu ile yan hücrelere nasıl geçebiliriz? bu arada her soruya nasıl bu kadar iyi çözümler üretiyorsunuz doğrusu öğrenmek isterim. Tebrikler, kolay gelsin.
 

Korhan Ayhan

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

İlgili hücreyi seçtikten sonra işiniz bitince bir kez ESC tuşuna basarsanız YÖN ve TAB tuşunu kullanabilirsiniz.
 

casteneda

Altın Üye
Katılım
17 Mayıs 2006
Mesajlar
85
Excel Vers. ve Dili
Excel 2003, Türkçe
Altın Üyelik Bitiş Tarihi
16-02-2026
Sn. Cost Control, Çok teşekkürler, ellerinize sağlık. İyi Çalışmalar.
 
Katılım
16 Temmuz 2006
Mesajlar
188
Excel Vers. ve Dili
xp profesional 2002
öncelikle emek veren arkadaşların ellerine sağlık. soru kadar cevaplarda çok güzel ve faydalıydı. fakat kod yazmaktan fazla anlamadığım için sayın cost_control bey'in çözümde olan aşağıdaki kodu sayfada 1 den fazla kullanmak için nasıl bir çözüm uygulanır. ben "$F$5" şeklinde değiştirdim fakat olmadı. uygulamalı olarak bir örnekle açıklarsanız sevinirim. teşekkürler.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$D$5" Then Exit Sub
Application.SendKeys ("&#37;{DOWN}")
End Sub
 

Korhan Ayhan

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

Sn. acarselcuk1,

Siz kodu nasıl kullanmak istiyorsunuz biraz daha detaylı açıklarmısınız.
 
Katılım
16 Temmuz 2006
Mesajlar
188
Excel Vers. ve Dili
xp profesional 2002
yanına 2. bir veri doğrulama yapmak için kod da nasıl bir değişiklik yaparız. eki incelerseniz beni daha iyi anlarsınız. tanımları bilmediğim için doğru anlatamıyorum :)
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Bu şekilde deneyin.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [E5:G5]) Is Nothing Then Exit Sub
Application.SendKeys ("%{DOWN}")
End Sub

Sayın COST_CONTROL'a teşekkür ediyoruz kodundan dolayı.
 
Katılım
16 Temmuz 2006
Mesajlar
188
Excel Vers. ve Dili
xp profesional 2002
&#231;ok te&#351;ekk&#252;r edrim say&#305;n Seyit_Tiken ve Cost_Control
bakal&#305;m daha neler neler &#246;&#287;renece&#287;iz.....bence &#231;ok g&#252;zel bir veri do&#287;rulama &#246;rne&#287;i oldu. umar&#305;m herkes benim kadar faydalan&#305;r. te&#351;ekk&#252;rler.....
 
Katılım
28 Şubat 2007
Mesajlar
251
Excel Vers. ve Dili
visual basic
Arkadaşlar anlamadığım bir nokta burada hiç hangi verileri kullanacağı belirtilmiyor peki nasıl oluyor da bu verilere ulaşıyor?
 
Katılım
16 Temmuz 2006
Mesajlar
188
Excel Vers. ve Dili
xp profesional 2002
sayfa2 ye verileri yaz&#305;yorsunuz ve veri girilen yeri mause ile i&#351;aretleyip ekle/ad/tan&#305;mla men&#252;lerine giriyorsun. verilen aral&#305;&#287;a bir isim verip tamam deyip kaydediyorsun.
daha sonra sayfa1 de herhangi bir h&#252;creyi se&#231;ip veri/do&#287;rulama men&#252;s&#252;nden ayarlar ikonuna klikleyip izin verilenler ikonundan liste yi se&#231;iyorsun. kaynak k&#305;sm&#305;nada ="aral&#305;&#287;a verilen isim" i giriyorsun. b&#246;ylece veri do&#287;rulama ger&#231;ekle&#351;mi&#351; oluyor. dahas&#305;da yukar&#305;daki &#246;rnekte ki gibi kodu yaz&#305;nca veri h&#252;cresine gelince otomatik olarak a&#231;&#305;l&#305;yor. umar&#305;m anlatabilmi&#351;imdir. :D
 
Katılım
28 Şubat 2007
Mesajlar
251
Excel Vers. ve Dili
visual basic
Arkadaşlar herşey güzel de son birşey var peki sıralı olmayan hücreler için ne yapmamız gerekiyor?

Yani D5 A24 ve F 35 de olan veri doğrulamalarının herbiri için bu makro nasıl olmalıdır?

Taşekkürler.
 

Korhan Ayhan

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

Kodu a&#351;a&#287;&#305;daki &#351;ekilde kullanabilirsiniz. H&#252;cre adresleri aras&#305;na [A24,D5,F35] gibi virg&#252;l ekleyerek diledi&#287;iniz kadar &#231;o&#287;altabilirsiniz.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Intersect(Target, [A24,D5,F35]) Is Nothing Then Exit Sub
    Application.SendKeys ("&#37;{DOWN}")
End Sub
 
Katılım
28 Şubat 2007
Mesajlar
251
Excel Vers. ve Dili
visual basic
Çok teşekkür ederim arkadaşım .
 
Üst