• DİKKAT

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

Hücre Değiştiğinde yanında ki hücreye tarih yazsın

Katılım
11 Aralık 2004
Mesajlar
419
Excel Vers. ve Dili
Ms Office Pro Plus 2019
Ustalar forumu aradım ama bulamadım.
Herhangi bir hüdreye veri girişi yapıldığında hmen yanındaki hücreye o anki tarih ve saat yazılması için nasıl bir olay yazmamız gerekecek.
örnek olarak A1 Hücresi içerisine veri girişi yapıldığında veya içeriği değiştiğinde B1 hücresine, giriş veya değişiklik yapıldığı andaki tarih ve saat yazılsın. Burada sütunların yeri sabit olmayacak. yani D6 ya veri girildiğinde tarih ve saat E 6 ya yazılacak.
tüm ustalara ve emek verenlere sonsuz saygı ve selamlar.
 
Aşağıdaki kodu sayfanın kod sayfasına kopyalayın.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [a:a]) Is Nothing Then Exit Sub
Target.Offset(0, 1) = Now
End Sub
 
Son düzenleme:
ustam herkesin yardımına koştuüun gigi benim sorunlarıma hemen çare buluyorsun. allah ne muradın varsa versin.
usta dediklerini yaptım fakat 2 noktada takıntım oldu.
1. değer sadece a sütunu için işlenmiş (benim yapmak istediğim hangi hücrede değişiklik yapıldı ise bir sağındaki hücreye tarih atması)
2. si ise hücre boş geçilirse değişiklik yapılmasın?
sonsuz saygılarımla...
 
Bu durumda kodu aşağıdaki ile değiştirin.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = 0 Then Exit Sub
Application.EnableEvents = False
Target.Offset(0, 1) = Now
Application.EnableEvents = True
End Sub
 
Son düzenleme:
ustam eline sağlık tam dediğim gibi olmuş. fakat gözden kaçan bir şey var.
bir hücreye girildikten sonra işlem iptal edilirse yani hücre boş geçilirse veya 0(sıfır) diye adlandırılırsa fonksiyon sona eriyor ve bir daha işlem yapmıyor. geçici durmak yerine o oturumda kalıcı olarak devre dışı kalıyor.
selamlar
 
If Target = 0 Then Exit Sub

yukarıdaki satırı ilk satır olarak yerleştirin.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = 0 Then Exit Sub
Application.EnableEvents = False
Target.Offset(0, 1) = Now
Application.EnableEvents = True
End Sub
 
Son düzenleme:
Bu durumda aşağıdaki kodu bir butona bağlayın ve çalıştırın. Daha sonra bu kodu silebilirsiniz. Yukarıdaki kodlar çalışacaktır.

Kod:
sub ac()
Application.EnableEvents = true
end if
 
Son düzenleme:
Usta verdiğin bilgiler için tüm güzellikler senin olsun. Tekrar ediyorum Allah ne muradın varsa versin. Allah senden razı olsun.
 
Rica ederim. Allah hepimizden razı olsun.
 
Başlık " Hücre değiştiğinde yanında ki hücreye tarih yazsın " şeklinde değiştirilmiştir.
 
Ustam siz nasıl uygun görürseniz. Biz bazan tam olarak karar veremiyoruz.
selamlar. saygılar
 
yaptım ama..

arkadaşlar banada böyle bir şey laazımdı burda yazılanların hepsini yuaptım ama bende bir sorun oldu bişiyi atlıyorum sanırım bana bu kodu içeren bir doys örneği yollayabilirseniz çok sevinirim
şimdiden teşekkürler
 
Kodu modüle değil de çalışma sayfasına yapıştırmamışsınızdır belki
 
Acemi1' Alıntı:
Kodu modüle değil de çalışma sayfasına yapıştırmamışsınızdır belki

modüle yapıştırdım ama evde kullandığım pcdki oficde bir problemim var sanırım ondan kaynaklanıyor o nedenle örnek bir dosya istemiştim
 
Selamlar,

Sn. kerem aslan

Kodu uygulamak istediğiniz sayfa isminin üzerinde sağ klik dedikten sonra açılan menüden kod görüntüle deyip çıkan pencereye yapışıtırırsanız çalışacaktır.
 
a sütünu değiştiğinde c sütununa
b sütünu değiştiğinde c sütununa
e sütünu değiştiğinde f sütununa yazacak şekilde nasıl değiştirmemiz gerekir. Şimdiden teşekkürler
 
Aşağıdaki kodu sayfanın kod sayfasına kopyalayın.

[vb:1:8f6085aa7b]Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [a:a]) Is Nothing Then Exit Sub
Target.Offset(0, 1) = Now
End Sub
[/vb:1:8f6085aa7b]

hocam sadece tek bir hücre değişince makro tetiklemek nasıl olmalı
b5 hücresi değiştiğinde a makrosunu çalıştır gibi.
 
hocam sadece tek bir hücre değişince makro tetiklemek nasıl olmalı
b5 hücresi değiştiğinde a makrosunu çalıştır gibi.


Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [B5]) Is Nothing Then Exit Sub
Call a
End Sub

a makronuzu adıdır.
 
Geri
Üst