Tarihe Göre Hücrenin içeriğinin Değişmesi

Katılım
30 Kasım 2011
Mesajlar
133
Excel Vers. ve Dili
2007 türkçe
Merhaba arkadaşlar bir konuda yardımınıza ihtiyacım var.

Bir hücreye girdiğim bir değer;

Eğer o “günün tarihi”, “tanımlı tarihten” küçükse hücrenin değiştirilmesine sistem izin vermeyecek.

Yok, eğer “o günün tarihi”nden büyükse hücredeki değer değiştirilebilecek.

Örnek;
E14 hücresindeki değer 500 TL olsun. Bu değerin 12.06.2012 tarihine kadar değiştirilebilmesini istemiyorum

Bu durumda kişi 11.05.2012 tarihinde bu veriye değiştirmek istediğinde sistem buna izin vermeyecek.

Ancak bu veriyi 13.06.212 tarihinde değiştirmek istediğinde ise sistem izin verecek.

Yardımlarınız için şimdiden teşekkürler.
 
Katılım
6 Ocak 2007
Mesajlar
62
Excel Vers. ve Dili
excel 2007
sdn123,
Öncelilkle F1 hücresinde =ŞİMDİ() formülünü girin.
F2 hücresine tanımlamak istediğiniz tarihi girin. (Tarihlerin biçimini, tarihin yazılı olduğu hücrede iken farenizi sağ tıklayarak, hücre biçimlendirden, Sayı sekmesinden, Tarih'i seçip 31.01.2012 biçimine uygun olanı seçerek ayarlıyorsunuz).
Daha sonra 500 TL yazan hücreyi farenizle tıklayıp, aşağıda belirtilen adımları uyguluyorsunuz.
Veri sekmesinde, veri araçları grubunda, veri doğrulamayı... seçiyorsunuz.
Daha sonra, açılan iletişim kutusundan, Ayarlar sekmesinde;
Doğrulama Ölçütü için izin verilen kısmında "Özel"'i seçin. Formül kısmına;
=Eğer(F1>F2;"Doğru";"Yanlış") yazın.
Hata Uyarısı sekmesine seçip,
"Geçersiz veri girildikten sonra hata uyarısı göster" seçeneğinin işaretli olduğundan emin olun ve Hata iletisi için:
Veriyi değiştiremezsiniz. Bugünün tarihi tanımlı tarihten küçük! mesajını yazıp tamam'ı tıklayın.
Verinizin değişikliğe müsade edip etmediğini, tanımlı tarihinizi değiştirerek kontrol ediniz.
 
Katılım
30 Kasım 2011
Mesajlar
133
Excel Vers. ve Dili
2007 türkçe
Ben veriyi yazdığım hücrede bunu yapmak istiyorum. Bu mümkün mü ocaba

Teşekkürler
 
Katılım
6 Ocak 2007
Mesajlar
62
Excel Vers. ve Dili
excel 2007
sdn123,
Benim yukarıda anlattığım işlemlere dikkat ederseniz, denetleme işlemini veriyi girdiğiniz hücrede yapıyorsunuz.
 
Katılım
30 Kasım 2011
Mesajlar
133
Excel Vers. ve Dili
2007 türkçe
evet;ancak ben F1 hücresinde =ŞİMDİ() değerini girmeden ve F2 hücresine tarih girmden buna yapmak istiyorum.Bu mümkün mü?
 

Korhan Ayhan

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

Aşağıdaki kodu bu işlemi yapmak istediğiniz sayfanızın kod bölümüne uygulayıp deneyiniz.

Kod "E" sütununda çalışır.

Kod:
Option Explicit
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Intersect(Target, Range("E:E")) Is Nothing Then Exit Sub
    If Target.Cells.Count > 1 Then Exit Sub
    ActiveSheet.Unprotect "12345"
    If Target = "" Then Exit Sub
    If Date < CDate("12.06.2012") Then
        MsgBox "Bu hücrede değişiklik yapamazsınız !", vbCritical
        Target.Next.Select
        ActiveSheet.Protect "12345"
        Exit Sub
    End If
End Sub
 
Katılım
30 Kasım 2011
Mesajlar
133
Excel Vers. ve Dili
2007 türkçe
Korhan Ayhan hocam öncelikle ilgilendiğiniz için teşekkürler.

Verdiğiniz kod tam olarak istediğim şey değil. Sizin verdiğiniz kod’a eğer ben E:E hücresinde tanımlı bir tarihi değiştirirsem sistem uyarı veriyor.

Oysa E:E hücresinde tanımlı bir tarih yok. Atıyorum E25 hücresinde 500 tl yazıyor, tarih değil. Kişi E25 hücresini değiştirmek istediğinde hücre o gün tarihi algılayacak ve kod’da yer alan tarihle karşılaştıracak. Eğer o gün tarihi koddaki tarihten küçükse hücre içeriği değişmeyecek.

Birde hocam kod yazmasını öğrenmek çok mu zor.Bu işi eğitim kurslarına gitmeden öğrenmek mümkün mü? (hiç bilmeyen biri için). Ayrıca kurs fiyatları hakkında bilginiz var mı?

Tekrar teşekkürler.
 

Korhan Ayhan

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

Kod hücreye yazdığınız tarihe bakmıyor. Siz E sütununda boş bir hücreye rastgele veri girişi yapın. Daha sonra o hücreyi seçtiğinizde kod "12.06.2012" tarihi ile sistem tarihini kontrol edecek ve uyarı verecektir.

Kod yazmasını öğrenmek zor değil. Bende hiçbir kursa gitmeden öğrendim. Biraz zaman ayırmanız gerekiyor. Forumdaki temel konuları inceleyin. Ayrıca bir kitap edinerek bilgilerinizi pekiştirin.
 
Katılım
30 Kasım 2011
Mesajlar
133
Excel Vers. ve Dili
2007 türkçe
Hocam yardımlarınız için çok sağulun.Dediğiniz şekilde yaptım oldu. Ancak aynı tablo içinde farklı farklı hücredelerde benzer şeyler yapmak istiyorum. Örneğin B25, D50, A1 gibi.. yani aynı tabloda fakat farkılı hücreleri bu şekilde bloklamak istiyorum.

Birde kodları öğrenmek için önerebelileceğiniz bir kitap varmı. (Hiç bilmeyen biri için.)

Tekrar teşekkürler.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,070
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Sayın sdn, sayın image'ın çözümü ideal bir çözümdür. Siz herhangi bir tarih girmek istemediğinizi söylüyorsunuz ancak excel'in bir işlem yapabilmesi için öncelikle ona kriterlerin verilmesi gerekmektedir. Sizin tanımladığınız tarihi bir şekilde excel'e öğretmelisiniz ki excel o tarihe kadar değişikliğe izin verilmesin. Excel o tarihi herhangi bir yerden alamazsa değerlendiremez doğal olarak.

İsterseniz formülde F1 yerine ŞİMDİ() yazarak F1 hücresini kullanmadan işlemi yapabilirsiniz. Ancak tanımladığınız tarihi mutlaka bir yerlere yazmalısınız ki excel değerlendirsin. isterseniz başka bir sayfada bu tarihi girip gizleyerek görülmesini engelleyebilirsiniz.
 
Katılım
28 Kasım 2008
Mesajlar
3
Excel Vers. ve Dili
2007 Türkçe
Merhaba,

Benim de bir sorum var yardımcı olabilirseniz sevinirim.

*A3 hücresinde bir tarih var (rastgele bir tarih)
*L1 hücresinde günün tarihi var
*E3 hücresinde bir formül var (L1-A3)

İsteğim şu şayet D3 hücresine bir tarih girersem E3 hücresindeki formül çalışmasın daha doğrusu orada bir veri olmasın, ''hatta dosya gelmiştir'' gibi bir uyarı mesajı olsun. Bu mümkün müdür?

Şimdiden teşekkür ederim.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,070
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki formülü E3 hücresine yazınız:

Kod:
=EĞER(D3="";$L$1-A3;"hatta dosya gelmiştir")
 
Katılım
28 Kasım 2008
Mesajlar
3
Excel Vers. ve Dili
2007 Türkçe
Aşağıdaki formülü E3 hücresine yazınız:

Kod:
=EĞER(D3="";$L$1-A3;"hatta dosya gelmiştir")
Sayın Hocam,

Desteğiniz için çok teşekkürler. Bu formül çok işime yarayacak.

Bunun dışında istiyorum ki D3 hücresine herhangi bir değer yazmaz isem E3 hücresinde ki formül çalışsın (yani L1-A3 formülü çalışsın ve E3 hücresinde iki tarih arasındaki gün farkı gözüksün). Şayet D3 hücresine bir tarih değeri girersem bu sefer E3 hücresinde L1-A3 formülü çalışmayıp ''dosya gelmiştir'' uyarısı versin. Bu mümkün müdür?
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,070
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Bu formülü denediniz mi bilmiyorum ancak zaten o belirttiğiniz işlemi yapıyor.
 
Katılım
28 Kasım 2008
Mesajlar
3
Excel Vers. ve Dili
2007 Türkçe
Bu formülü denediniz mi bilmiyorum ancak zaten o belirttiğiniz işlemi yapıyor.
Kusura bakmayın formülü yanlış hücreye kopyalamışım. Şimdi farkettim. Düzelttim çalıştı çok teşekkürler yardımlarınız için
 
Üst