Birim Fiyat Güncellediğimde Tarihi Otomatik Atama

Katılım
26 Kasım 2007
Mesajlar
308
Excel Vers. ve Dili
Excel 2003
Merhaba arkadaşlar,

F, G, H sütununda Birim fiyatlarım var....
J sütununda ise Birim fiyatın güncellendiği Tarihler var.

Sorum şu;

Ben F, G, vya G sütunundaki herhangi bir Birim Fiyatı değiştirdiğimde J sütununda değiştirdiğim günün tarihi otomatik yazılsın istiyorum. Bunu nasıl yaparız?
 
Son düzenleme:
Katılım
26 Kasım 2007
Mesajlar
308
Excel Vers. ve Dili
Excel 2003
Arkadaşlar, bu sorum için siteden araştırmalarımla aşağıdaki gibi kod yazdım....Değiştirdiğim ilk sütun (F) için kod çalışıyor ama sonraki G veya H sütununda değişiklik yaptığımda tarih değişmiyor. Burada Hatama nerede acaba

Option Explicit
Private Sub Worksheet_change(ByVal Target As Range)

If Intersect(Target, [F:F]) Is Nothing Then Exit Sub
On Error Resume Next
Target.Offset(0, 4).Value = Now
Target.Offset(0, 4).NumberFormat = "dd.mm.yyyy"


If Intersect(Target, [G:G]) Is Nothing Then Exit Sub
Target.Offset(0, 3).Value = Now
Target.Offset(0, 3).NumberFormat = "dd.mm.yyyy"

If Intersect(Target, [H:H]) Is Nothing Then Exit Sub
Target.Offset(0, 2).Value = Now
Target.Offset(0, 2).NumberFormat = "dd.mm.yyyy"

End Sub
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba

Kod:
If Intersect(Target, [F:F]) Is Nothing Then Exit Sub
prosedür başladığında F sütununda olmadığı için makro sonlanır.

F:H aralığında çalışsın ve J'ye yazsın şeklinde düzeltin.
 
Katılım
26 Kasım 2007
Mesajlar
308
Excel Vers. ve Dili
Excel 2003
Ya! Nasıl akıl edemedim... :) tabi yaa
Yaptım oldu ama yalnız bi sorunla karşılaştım.
F sütunum tamamen doluyken G sütununa bir değer girdiğimde Tarih değişmiyor. Bu 3 sütundan sadece birini doldurduğumda kod çalışıyor ve Tarih değişiyor.

Option Explicit
Private Sub Worksheet_change(ByVal Target As Range)

If Intersect(Target, [F:H]) Is Nothing Then Exit Sub
On Error Resume Next
Target.Offset(0, 4).Value = Now
Target.Offset(0, 4).NumberFormat = "dd.mm.yyyy" & " - " & "hh:mm:ss"

End Sub
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
Kod:
Target.Offset(0, 4).Value = Now
değiştirdiğiniz sütundan 4 sütun sonra yazar. F için J ye, H için L sütununa.

Kod:
On Error Resume Next
hata olursa devam et demeyini hayanın kaynağını bulup değiştirin.
 
Katılım
26 Kasım 2007
Mesajlar
308
Excel Vers. ve Dili
Excel 2003
Sn. Uzmanamele, dediğiniz gibi "hata olursa..." bi toparlanayım inşallah bu cümleden kurtulmaya çalışacam. Tek bir sorunum kaldı...

Target.Offset(0, 4).Value = Now
yerine Sadece J sütuna yaz demem için nasıl yazmam gerekiyor. Çok özür dilerim işim gereği kodlamalardan epey uzak kalınca kodları unutmaya başlamışım :(
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
örnek dosya eklerseniz çok daha çabuk yanıt alabilirdiniz.

cells(Target.Row,"j") şeklinde olabilir.
 
Katılım
26 Kasım 2007
Mesajlar
308
Excel Vers. ve Dili
Excel 2003
Çok teşekkür ederim Sn. Uzmanamele...sonunda tamaıyla halloldu sayenizde. Dünden beri dosya eklemede problem yaşadığım için gönderemedim.
 
Üst