• DİKKAT

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

Sütunlara Göre Kayıt ve Değişiklik Tarihi Oluşturma Kod Yardımı

Believing

Altın Üye
Katılım
19 Mayıs 2013
Mesajlar
703
Excel Vers. ve Dili
Office Pro 2019 TR 32 Bit
Windows Pro 10 TR 64 Bit
Sayın Uzman Arkadaşlar,

Aşağıdaki kod yardımı ile "B" sütununa veri girilince "K" sütununa Kayıt Tarihi, "H" sütununa veri girilince"L" sütununa Değişiklik Tarihi yazdırıyorum.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [B5:B65536]) Is Nothing Then
Cells(Target.Row, "K") = Format(Now, "dd/mm/yyyy - hh:mm")
End If
If Not Intersect(Target, [H5:H65536]) Is Nothing Then
Cells(Target.Row, "L") = Format(Now, "dd/mm/yyyy - hh:mm")
End If
End Sub

"B" ile "H" sütunlarındaki veriler silinince silinen sütuna ait tarihlerin de silinmesini sağlamak için yukarıdaki kodu nasıl revize etmeliyim.
Benin için çok kıymetli olan yardımlarınızı rica ediyorum.

Saygılarımla,
Ömer Ali ÜZÜMCÜ
 
Merhaba,
Aşağıdaki biçimde deneyiniz.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [B5:B65536]) Is Nothing Then
Cells(Target.Row, "K") = IIf(Target.Value = "", "", Format(Now, "dd/mm/yyyy - hh:mm"))
End If
If Not Intersect(Target, [H5:H65536]) Is Nothing Then
Cells(Target.Row, "L") = IIf(Target.Value = "", "", Format(Now, "dd/mm/yyyy - hh:mm"))
End If
End Sub
 
Sayın Ömer bey,

Öncelikle konuya gözterdiğiniz ilgi ve yardımınız için size çok teşekkür ederim.
Revize ettiğniz kodları, aynı sayfada bulunan aşağıdaki kodlar ile birlikte nasıl çalıştırabilirim?

Saygılarımla,
Ömer Ali ÜZÜMCÜ

Kod:
Dim Eski_Değer

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    Satır = WorksheetFunction.CountA(Sheets("LOG KAYITLARI").Range("A:A")) + 1
    Sheets("LOG KAYITLARI").Cells(Satır, 1) = Satır - 1
    Sheets("LOG KAYITLARI").Cells(Satır, 2) = Date
    Sheets("LOG KAYITLARI").Cells(Satır, 3) = Time
    Sheets("LOG KAYITLARI").Cells(Satır, 4) = Application.UserName
    Sheets("LOG KAYITLARI").Cells(Satır, 5) = ActiveSheet.Name & "!" & Target.Address(1, 1)
    Sheets("LOG KAYITLARI").Cells(Satır, 6) = IIf(Eski_Değer = "", "Boş Hücre", Eski_Değer)
    Sheets("LOG KAYITLARI").Cells(Satır, 7) = IIf(Target = "", "Değer Silindi !", Target)
    Sheets("LOG KAYITLARI").Cells.EntireColumn.AutoFit
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Eski_Değer = Target
End Sub
 
Sayın Uzman arkadaşlar,

Aynı sayfanın kod bölümünde bulunan iki farklı "
Private Sub Worksheet_SelectionChange(ByVal Target As Range)" kodlarını birlikte çalıştırmak için çok değerli yardımlarınızı rica ediyorum.

Saygılarımla,
Ömer Ali ÜZÜMCÜ
 
Sayfada tek bir tetikleyici başlık olması gerekiyor.
Rich (BB code):
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Revize ettiğim Worksheet_Change kodları
Diğer Worksheet_Change kodlarınız
Application.EnableEvents = True
End Sub
şeklinde düzenleyiniz.
Worksheet_SelectionChange kodlarında bir düzenleme yapmanıza gerek yok.
İyi çalışmalar...
 
Sayın Ömer bey,

Konuya gösterdiğiniz ilgi ve çözümünüz için size çok teşekkür ederim.
ALLAH sizden ve sevdiklerinizden razı olsun.

Saygılarımla,
Ömer Ali ÜZÜMCÜ
 
Geri
Üst