• DİKKAT

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

tarih atama

  • Konbuyu başlatan Konbuyu başlatan meda58
  • Başlangıç tarihi Başlangıç tarihi
Katılım
24 Eylül 2010
Mesajlar
168
Excel Vers. ve Dili
2010 tr
arkadaşlar E sutunu veriyi sayfa 2 den alıyor F sutunu veriyi sayfa 3 den alıyor D sutunu E+F nin toplamı diger sayfalara veri girdikçe bu sayfadaki veriler otamatikman değişiyor D sutunun daki veriler değiştikçe C sutununa tarihleri otamatikman yazsın istiyorum bunun için bir çok kod denedim olmadı sutunlar formüllü oldugundan kodlar değişimi algılamıyor dosya çok büyük ben buraya basit bir örnek verdim lütfen ilginizi eksik etmeyin
 

Ekli dosyalar

hocalar ustalar yardımlarınızı bekliyorum lütfen yardım ediniz
 
arkadaşlar aşagıdaki kod veriyi el ile girince gayet güzel çalışıyor fakat benim dosyamda veriler el ile girilmiyor başka yerden alıyor bu yüzden D sutunu formüllü böyle olunca kodlar değişikliği algılamıyor ve işlem yapmıyor bu değişikliği algılayarak işlem yapacak kod lazım
nasıl yapılabilir

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [d1:d65536]) Is Nothing Then
Cells(Target.Row, "C") = Date
End If
End Sub
 
makroda kod tarafına geçip gerekli ayarları yapıp aşağıdaki kodu yapıştırın,belgeyi ekleyemedim çok yer kaplıyor,özelden mail adresi verirseniz oraya göndereyim,kolay gelsin...

Private dizi(30) As Integer


Private Sub Worksheet_Activate()

For i = 1 To 30
If Cells(i, 1) = "" Then
dizi(i - 1) = 0
Else
dizi(i - 1) = Cells(i, 1).Value
End If
Next i
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim dizi2(30) As Integer
For i = 1 To 30
If Cells(i, 1) = "" Then
dizi(i - 1) = 0
Else
dizi2(i - 1) = Cells(i, 1).Value
End If
Next i
For i = 1 To 30
If dizi(i - 1) <> dizi2(i - 1) Then
Sheets("sayfa1").Cells(i + 1, 3) = Date
End If
Next i
End Sub

sayfa 3 için

Private dizi(30) As Integer


Private Sub Worksheet_Activate()

For i = 1 To 30
If Cells(i, 1) = "" Then
dizi(i - 1) = 0
Else
dizi(i - 1) = Cells(i, 1).Value
End If
Next i
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim dizi2(30) As Integer
For i = 1 To 30
If Cells(i, 1) = "" Then
dizi(i - 1) = 0
Else
dizi2(i - 1) = Cells(i, 1).Value
End If
Next i
For i = 1 To 30
If dizi(i - 1) <> dizi2(i - 1) Then
Sheets("sayfa1").Cells(i + 1, 3) = Date
End If
Next i
End Sub
 
hocam bu kadar zor ve karışık olacağını hiç düşünemedim bu yalnızça basit bir örnekti elimdeki dosya çok daha büyük ve karmaşık eger ilgilenirseniz mailden size gönderebilirim bu dosyada turnis sırası yazan sayfada tarihlerin otamatik atmasını sağlamaya çalışıyorum gizli sutunlar mevcuttur ilginize sonsuz teşekkür ederim
benim mail adresim
meda58hrme@hotmail.com
 
hocam yeni dosyayı ve açıklamaları gönderdim
 
Mrb.arkadaslar benım sorunum soylekı b sutununa el ıle deger gırdıgım zaman o ankı tarıhı A sutununa atmasını ıstıyorum bunu elle yazdıgım zaman deger atıyor ama b hucresındekı değeri formulle C sutunundan getirdiğim zaman tarıh degısmıyor. bu konuda yardımcı olursanız sevinirim..
ek olarak b sutununa 1 değeri girdiğimde tarih yazıyor 0 ise boş bırakıyor bundada bir sorun yok sadece formulle getirdiğimde değişmiyor

çok acill lütfen

kod su sekilde:

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("B:B")) Is Nothing Then Exit Sub
On Error Resume Next
With Target
If .Row = 0 Then Exit Sub
Target.Offset(0, -1) = ""
If .Value = Empty Then Exit Sub
Target.Offset(0, -1) = Format(Now, "dd.mm.yyyy:hh:mm")
End With
End Sub
 
merhaba,
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("B:C")) Is Nothing Then Exit Sub
On Error Resume Next
With Target
If .Row = 0 Then Exit Sub
Target.Offset(0, -2) = ""
If .Value = Empty Then Exit Sub
Target.Offset(0, -2) = Format(Now, "dd.mm.yyyy:hh:mm")
End With
End Sub
 
Son düzenleme:
"çok acill lütfen" demişsiniz..
Umarım acil olmuştur..
 
Geri
Üst