• DİKKAT

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

Korumalı Sayfada Veri Doğrulama Kodu

Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Merhaba arkadaşlar,

Sayfa Koruma altında iken aşağıda görülen makro çalışmıyor. Koruma açılınca normal çalışıyor. Örnek dosyadaki D2 : E11 alanı korumalı değil. Sayfa koruma altında iken ve sayfa koruması kaldırılmadan kodun çalıştırılması mümkün mü ! Sayfa parolası : 1

Örnek dosya linki :
http://s3.dosya.tc/server9/rlr3hk/MAKRO_ILE_VERI_DOGRULAMA.xls.html

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 Then
Target.Offset(, 1).Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="İHRACAT,İTHALAT"
.IgnoreBlank = False
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = "LÜTFEN LİSTEDEN SEÇİNİZ"
.ShowInput = True
.ShowError = True
End With
End If
End Sub
 
Son düzenleme:
Sayfa Koruma altında iken aşağıda görülen makro çalışmıyor. Koruma açılınca normal çalışıyor.
 
Sayfa korumasını aşağıdaki kod ile yaparsanız istediğiniz işlem gerçekleşir.

Kod:
Sub Koruma()
    ActiveSheet.Protect Password:="1", DrawingObjects:=True, UserinterfaceOnly:=True
End Sub
 
Korhan Ayhan üstadım, ilginize çok teşekkür ediyorum. Ama olmadı. Şöyle yaptım.
verdiğinize kodu bir modüle yapıştırıp RUN ettim, evet sayfayı korumaya aldı. Ama Veri doğrulama kodunda yine sayfa korumadan kaynaklanan hata uyarısı çıktı !
 
Şimdi tekrar denedim ve olumlu sonuç aldım.
 
evet siz titizsiniz, denemeden, olumlu sonuç almadan çözüm önermezsiniz üstadım. Ancak bende neden olmadı acaba ! Referanslardan kaynaklanıyor olabilir mi !
 
Gönderdim. İncelersiniz.

Nette yaptığım araştırma sonucu bu kodu önerdim. Fakat nette de önce korumayı kaldırın ve sonra tekrar koruma ekleyin uyarısı var.
 
Merhaba.

Sayın serdarokan'ın bu işlemi istemekteki amacını net şekilde belirtmesinde yarar var sanırım.
Amacı tam olarak bilemiyoruz ancak ben bir öneride bulunayım.


Madem D sütunu boşken veri doğrulamada İTHALAT/İHRACAT seçilemesin isteniyor;
o zaman D sütununun dolu olmasına bağlı VERİ DOĞRULAMA işlemini
makroya gerek kalmaksızın koruma öncesinde uygulayabiliriz.

Örneğin U1 hücresi boş, U2 hücresine İTHALAT, U3 hücresine de İHRACAT yazıp,
E2:E11 aralığını koruma öncesinde seçip, VERİ DOĞRULAMA -> LİSTE kısmına
aşağıdaki formülü uygulayarak istenilen (istenildiğini düşündüğüm) sonuca ulaşılamaz mı?

Hatta boş satır bırakılmadan işlem yapılması da isteniyorsa; bu formüle, bir önceki satır/hücre için
DOLU/BOŞ kontrolü de eklenebilir, D sütununa da, yine veri doğrulama uygulayıp,
bir önceki satırın dolu/boş durumuna göre sayısal veya metin uzunluğu kontrolü de eklenebilir diye düşünüyorum.
Kod:
=EĞER($D2="";$U$1;$U$2:$U$3)
 
Sayın üstadlar Korhan Ayhan, Ömer Baran yardımseverliğiniz ve emekleriniz için çok teşekkür ediyorum. Yine sizlerden ufkumu genişleten dönüşler aldım. Allah sizlerden razı olsun, iyi ki varsınız. Sağlıcakla kalınız.
 
Geri
Üst