• DİKKAT

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

otomatik tarih ve saat hk

Katılım
2 Mart 2009
Mesajlar
44
Excel Vers. ve Dili
office 07
arkadaşlar sitemizde bulmuş olduğum otomatik tarih ve saat ekleyen aşağıdaki kodlar çok güzel işimi gördü ancak excelde toplu şekilde silme veya cekerek coğaltma gibi toplu işlem yaptığımda hata veriyor(örn: c hucresıne yazı yazdığımda a ve b hücresine olması gerektiği gibi tarih ve saat atıyor ancak c hücresini kenarında aşağıya doğru çekip çogalttıgımızda hata veriyor) yardım eder düzeltebilirsek cok sevineceğim şimdiden teşekkurler..........



Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("C:C")) Is Nothing Or Target = "" Then Exit Sub
Target.Offset(0, -2) = Format(Date, "dd.mm.yyyy")
Target.Offset(0, -1) = Format(Now, "hh:mm:ss")
End Sub
 
Merhaba.
Sadece C sütunundaki son değeri mi köşesinden tutarak aşağı doğru çoğaltacaksınız, yoksa; aradaki satırlar için de bunu yapacak mısınız?
Sadece son veri için bu işlemi yapacaksınız aşağıdaki kod'u kullanabilirsiniz sanırım.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo 20

If Intersect(Target, Range("C:C")) Is Nothing Or Target = "" Then Exit Sub
    Target.Offset(0, -2) = Format(Date, "dd.mm.yyyy")
    Target.Offset(0, -1) = Format(Now, "hh:mm:ss")
20
    If [A65536].End(3).Row < [C65536].End(3).Row Or [B65536].End(3).Row < [C65536].End(3).Row Then
        a = [A65536].End(3).Row
        b = [B65536].End(3).Row
        c = [C65536].End(3).Row

        For i = a + 1 To c
            Cells(i, 1) = Cells([A65536].End(3).Row, 1)
            Cells(i, 2) = Cells([B65536].End(3).Row, 2)
        Next
    End If
End Sub
 
Kısmen şöyle kullanabilirsiniz ...

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, Range("C:C")) Is Nothing Then Exit Sub
Target.Offset(0, -2) = Format(Date, "dd.mm.yyyy")
Target.Offset(0, -1) = Format(Now, "hh:mm:ss")
End Sub
 
arkadaşlar teşekkürler tam istediğim gibi oldu. Birde c hücresini sildiğimde bu girilen tarih ve saat silinse cok güzel olacak yardımlarınızı bekliyorum şimdiden teşekkürler.
 
Deneyin.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("C:C")) Is Nothing Then Exit Sub
    If Target.Cells.Count = 1 Then
        If Target.Value = "" Then
            Target.Offset(0, -2) = ""
            Target.Offset(0, -1) = ""
        Else
            Target.Offset(0, -2) = Format(Date, "dd.mm.yyyy")
            Target.Offset(0, -1) = Format(Now, "hh:mm:ss")
        End If
    Else
        For Each Veri In Selection
            If Veri.Column = 3 Then
                If Veri.Value = "" Then
                    Veri.Offset(0, -2) = ""
                    Veri.Offset(0, -1) = ""
                Else
                    Veri.Offset(0, -2) = Format(Date, "dd.mm.yyyy")
                    Veri.Offset(0, -1) = Format(Now, "hh:mm:ss")
                End If
            End If
        Next
    End If
End Sub
 
Deneyin.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("C:C")) Is Nothing Then Exit Sub
    If Target.Cells.Count = 1 Then
        If Target.Value = "" Then
            Target.Offset(0, -2) = ""
            Target.Offset(0, -1) = ""
        Else
            Target.Offset(0, -2) = Format(Date, "dd.mm.yyyy")
            Target.Offset(0, -1) = Format(Now, "hh:mm:ss")
        End If
    Else
        For Each Veri In Selection
            If Veri.Column = 3 Then
                If Veri.Value = "" Then
                    Veri.Offset(0, -2) = ""
                    Veri.Offset(0, -1) = ""
                Else
                    Veri.Offset(0, -2) = Format(Date, "dd.mm.yyyy")
                    Veri.Offset(0, -1) = Format(Now, "hh:mm:ss")
                End If
            End If
        Next
    End If
End Sub


evet istediğim gibi ancak c sütununa birden fazla veri girdiğim de yada c sütununda birden fazla veri sildiğimde çalışmadı acaba toplu olarak da çalışmasını sağlayabilir miyiz?
 
Ben çoklu veri girişlerinde ve silme işlemlerinde olumlu sonuç alıyorum.
 
özür dilerim sizi çok ügraştırdım. verdiğiniz kodu denediğimde sorunsuz çalıştı. ben kendime uyarlıyarak deniyordum sanırım sıkıntı ordan kaynaklandı. ben
veriyi f sutununa yazıyorum
tarihi c sutununa
saati d sütününa yazdırıyorum.

sadece bu kısımları değiştiriyordum. sanırım düzeltilmesi gereken başka kısımlarda var. yardımcı olursanız çok sevinirim teşekkürler tekrardan
 
Evet uğraştırıyorsunuz...

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("F:F")) Is Nothing Then Exit Sub
    If Target.Cells.Count = 1 Then
        If Target.Value = "" Then
            Target.Offset(0, -3) = ""
            Target.Offset(0, -2) = ""
        Else
            Target.Offset(0, -3) = Format(Date, "dd.mm.yyyy")
            Target.Offset(0, -2) = Format(Now, "hh:mm:ss")
        End If
    Else
        For Each Veri In Selection
            If Veri.Column = 6 Then
                If Veri.Value = "" Then
                    Veri.Offset(0, -3) = ""
                    Veri.Offset(0, -2) = ""
                Else
                    Veri.Offset(0, -3) = Format(Date, "dd.mm.yyyy")
                    Veri.Offset(0, -2) = Format(Now, "hh:mm:ss")
                End If
            End If
        Next
    End If
End Sub
 
Geri
Üst