• DİKKAT

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

D8 hücresi 81 olduğunda tarih yazsın

  • Konbuyu başlatan Konbuyu başlatan k0081
  • Başlangıç tarihi Başlangıç tarihi
Katılım
17 Haziran 2008
Mesajlar
1,874
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Merhaba arkadaşlar;

D8 hücresi 81 olduğunda D14 hücresine 355 gün sonrasının tarihini atsın..

D8 hücresi 82 , 83 ,84 ,85 gibi arttığında D14 teki tarih değişmesin. sadece 81 e bağlı olsun yani..

macro başlığında yazdım ama Formülle de olabilir..

Yardımcı arkadaşa şimdiden teşekkürler..
 
İlgili sayfanın kod bölümünde deneyiniz:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [d8]) Is Nothing Then Exit Sub
If Target = 81 Then [d14] = Date + 355
End Sub
 
Şöyle deneyin:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [d8]) Is Nothing Then Exit Sub
If Target = 81 Or UCase(Target) = "EVET" Then [d14] = Date + 355
End Sub
 
Şöyle deneyin:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [d8]) Is Nothing Then Exit Sub
If Target = 81 Or UCase(Target) = "EVET" Then [d14] = Date + 355
End Sub


hocam denedim,, fakat EVET formüle bağlı olduğu için sanırım,, herhangi bişey yazmadı.
 
Evet'in formülü nedir? Kodları o formüle göre düzenleme imkanı olabilir.
 
hocam denedim,, fakat EVET formüle bağlı olduğu için sanırım,, herhangi bişey yazmadı.

Merhaba,

Açıklamalarınızda tezatlık var gibi. Eğer D8 hücresi formülle değişiyorsa ilk kod da çalışmaz. Fakat siz çalıştığını söylediniz.

Bu durumda kodları aşağıdaki gibi değiştirmelisiniz.

Kod:
Private Sub Worksheet_Calculate()
    If [D8] = 81 Or UCase([D8]) = "EVET" Then [D14] = Date + 355
End Sub

.
 
Aslında Tezatlık yok hocam,, ama haklısınız da,, 81 formülle çıktığı zaman çalışmıyor.. doğrudan yazdığımda çalışıyor.. zaten o yüzden tekrar sordum soruyu,, EVET olduğunda durum anlaşıldı... hocam..
*******************
Şimdi soruyu şöyle güncellemek gerekiyor:

D8 hücresinde var olan bir formül sonucu EVET çıktığında D14 e 355 gün ekleyerek tarih yazılması.. son hali budur hocam..
 
D8 hücresindeki formül nedir diye sormuştum.
 
evet'in formülü nedir? Kodları o formüle göre düzenleme imkanı olabilir.

hocam çok pardon,, Oruçluluk durumu görmedim.. ;) tabloyu değiştirdim bu arada.. hücre adresleri değişti. Tarih D15 yazacak.. baz alacağı hücrede D14.. ( yani EVET in çıktığı Hücre D14 )


Kod:
=eğer(b2>81;"evet";"hayır")
 
Son düzenleme:
Peki B2'deki değer formülle mi yoksa elle mi giriliyor?
 
Öyleyse B2'yi etkileyen, elle giriş yaptığınız hücreye göre düzenlememiz gerek. Anladığım kadarıyla sayfa olaylarına bağlı kodlar belirli bir target ve bu targetteki değişimlere göre düzenlenebiliyor.
 
Bunun çözümünü #7. mesajda yazmıştım. Denemediniz mi?
 
Ömer;

Hocam çok pardon,, kusura bakmayınız.. özür.. Evet 7. msj da vermiş olduğunuz kod düzgün bir biçimde çalışıyor..

Teşekkür ediyorum,, Tamamdır.. Ömer hocam..

Not: denemiştim hocam ben.. ama 81 silip o şekilde kullanmıştım...
*********************************
Excel 2007 de şu hatayı veriyor. Excel 2010 da sorun yok.
HATA001.jpg
 
Son düzenleme:
Merhaba
2007 denemesinde Ömer Hocanın kodunda hata ile karşılaşılmadı
 
Son düzenleme:
Merhaba,

Açıklamalarınızda tezatlık var gibi. Eğer D8 hücresi formülle değişiyorsa ilk kod da çalışmaz. Fakat siz çalıştığını söylediniz.

Bu durumda kodları aşağıdaki gibi değiştirmelisiniz.

Kod:
Private Sub Worksheet_Calculate()
    If [D8] = 81 Or UCase([D8]) = "EVET" Then [D14] = Date + 355
End Sub

.

A sütununa numara verdiğimizde B sütununda o günün tarihini nasıl alabiliriz..makro yada formül olabilir.
 
Dosyanızdan kaynaklanan bir sorun olabilir. Hata veren dosyayı eklemeniz mümkün mü?
 
Geri
Üst