Excelde sadece ilk giriş zamanında tarih atmak

Katılım
17 Şubat 2010
Mesajlar
226
Excel Vers. ve Dili
excel 2007 türkçe
Altın Üyelik Bitiş Tarihi
03-11-2020
Arkadaşlar kolay gelsin.Genelde tarih atma konusunda bir çok soru sorulmuştur ve cevapları vardır.Ben araştırdım ama istediğim çözümü bulamadım malesef.İstediğim tarih atma şekli şu şekilde.Bir hücreye herhangi bir giriş yapıldığında diğer bir hücreye tarih atsın ama sonrasında bu hücre değiştirilse bile tarih değişmesin.Tabi gün değişse de tarih sabit kalmalı.

Örneğin A1 hücresine giriş olduğunda B1 hücresine günün tarihi atılsın.
A1 değiştirilsede B1 sabit kalsın.
Ertesi gün B1 değeri değişmemiş olsun.
B1 silinebilmeli ve elle tekrar yeni tarih girilebilmeli.

Umarım açıklayıcı olmuştur.Şimdiden teşekkürler...
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Çalışma sayfasının kod bölümüne:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
    
    With Target
        If .Value = "" Then Exit Sub
        If .Offset(0, 1) = "" Then
           .Offset(0, 1) = Date
        End If
    End With
 
End Sub
.
 
Katılım
17 Şubat 2010
Mesajlar
226
Excel Vers. ve Dili
excel 2007 türkçe
Altın Üyelik Bitiş Tarihi
03-11-2020
Hocam öncelikle çok teşekkür ederim.Fakat kod ekleme konusunda pek tecrübem olduğu söylenemez.Biraz araştırdım.VB derleyicisini açıp bu kodu oraya yapıştırdım ve kaydet deyip uygulamaya çalıştım ama olmadı.Kısaca tarif etmeniz yada dosyayı örnek olarak ekleyebilmeniz mümkün mü?Şimdiden teşekkürler....
 

Korhan Ayhan

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

Kodu uygulamak istediğiniz sayfayı seçin.
Sayfa ismi üzerinde sağ klik yapın.
Açılan menüden "Kod Görüntüle" seçeneğini seçin.
Karşınıza gelen beyaz pencereye kodu uygulayın.

Daha sonra excel sayfanıza dönüp A1 hücresine değer girip deneyin. Kod bu haliyle sadece A1 hücresi için çalışır.
 
Katılım
17 Şubat 2010
Mesajlar
226
Excel Vers. ve Dili
excel 2007 türkçe
Altın Üyelik Bitiş Tarihi
03-11-2020
Excel kardeşliği diyorum başka bir şey demiyorum.Çok çok çok teşekkür ederim....
 
Katılım
17 Şubat 2010
Mesajlar
226
Excel Vers. ve Dili
excel 2007 türkçe
Altın Üyelik Bitiş Tarihi
03-11-2020
Küçük bir sorum daha var.A1 'e değer girildiğinde B1'e tarih atma olayı tamam.Ama mesela A1 'e değer girildiğinde belirlenen hücreye tarih atan kod nasıl olabilir?Üstteki kodda "A1" yerine hangi hücreyi yazsam sağ tarafına tarih atıyor.

Mesela G5'e veri girişi yapıldığında C12 hücresine tarih yazan kod nasıl olmalıdır?Şimdiden teşekkürler...
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Örnekte daha açık belirttim.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    If Intersect(Target, Range("G5")) Is Nothing Then Exit Sub
 
    If Target.Value = "" Then Exit Sub

    If Range("C12") = "" Then
       Range("C12") = Date
    End If
 
End Sub
.
 
Katılım
17 Kasım 2011
Mesajlar
3
Excel Vers. ve Dili
excel 2007
ömer bey bu kod benimde işime yaradı fakat, sayfaya temizle kutusu koymustum daha once, butona tıkladığımda sayfanın belirli kısımlarını temizliyordu, bu kodu girdikten sonra hata vermeye basladi sorun ne olabilir acaba?
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Eski kodları bozmadan sorunuzla ilgili küçük bir örnek ekleyerek açıklarmısınız.
 
Katılım
31 Mayıs 2007
Mesajlar
18
Excel Vers. ve Dili
2007 Türkçe
acaba bu kodu;
a sütununa veri girince b sütunu aynı satıra tarih damgası basılacak şekilde nasıl düzenleyebiliriz..

Merhaba,

Çalışma sayfasının kod bölümüne:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
    
    With Target
        If .Value = "" Then Exit Sub
        If .Offset(0, 1) = "" Then
           .Offset(0, 1) = Date
        End If
    End With
 
End Sub
.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub

Kodlarda üsteki satırı aşağıdaki gibi değiştirin.

If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Dosyanın orjinalini eklemenize gerek yok. Bahsettiğiniz makroyu silmeden konuyu özetleyecek şekilde 5-6 satırlık tahmini veriler yazıp eklemeniz kafi.
 
Katılım
17 Kasım 2011
Mesajlar
3
Excel Vers. ve Dili
excel 2007
Ömer bey, ilgilendiğiniz için çok teşekkür ederim. Kısaca anlatmaya çalışacağım sorunlarımı.
1-) “Teklif” sekmesi benim anasayfam. Diğer sekmelerden sadece veri alıyorum. “Teklif” sekmesinde yeni bir teklif oluşturduktan sonra kaydet butonuna bastığımda istediğim biçimde yeni sekme oluşturuyor ve o sekmenin adını hücreden alıyor. Buraya kadar sorunum yok. Fakat oluşturulan sekmede yeniden düzenlemeye gidersem diye v.02 veya v.03 gibi versiyon atamaları yaptım. Oluşan yeni teklifte düzeltmeye gidip, versiyonunu değiştirip, kaydet butonuna bastığımda hata veriyor. Sanırım bunun sebebi, “Teklif” sekmesinin bulunduğu sırayla alakalı. “Teklif” sekmesinin sırası 7. değil de 6. olursa hata veriyor. Değişken sıraya sahip bir kod yazılırsa sanırım bu sorun çözülecektir.

2-) Oluşan yeni sekme haliyle “Teklif” sekmesinin kopyası olduğu için kaydet ve temizle butonları bu yeni sekmede de var oluyor. Aslında oluşan bu yeni sekmede benim temizle butonuna ihtiyacım yok. Ya “Teklif”sayfasında, kaydet butonuna tıkladığımızda oluşan yeni sekmede temizle butonu olmasın yada olsa bile işlev görmesin. Çünkü yanlışlıkla, oluşan yeni sekmede temizle butonuna bastığımda yeni sekmeyi değil “Teklif” sekmesini temizliyor :)

3-) Ben “Teklif” sekmesine sizin önerdiğiniz düzenlenme tarihi kodunu yazdım, A6 satırına veri girişi yapıldığında otomatik olarak K4 satırına o günün tarihini attı. Fakat temizle butonuna tıkladığımda hata aldım.

Bu üç sorunuma yardımcı olursanız çok sevineceğim. Şimdiden teşekkürler.
 

Ekli dosyalar

Üst