Hücre değiştiğinde tarih ve saati otomatik olarak nasıl kaydedebilirim?
Bizim için statik tarih ve saati manuel olarak eklemek veya sistem zamanına göre değişen dinamik bir tarih eklemek kolaydır. Eğer hücredeki değeri değiştirdiğinizde veya yeni değer girdiğinizde tarih ve saati otomatik olarak kaydetmek istiyorsanız, bu sorunun çözümü biraz farklı olabilir. Ancak bu makalede, aşağıdaki adımları izleyerek bu görevi çözebilirsiniz.
VBA kodu ile hücre değiştiğinde tarih ve saati otomatik olarak kaydetme
VBA kodu ile hücre değiştiğinde tarih ve saati otomatik olarak kaydetme
Örneğin, bir dizi değerim var ve şimdi Sütun B'de bir değişiklik yaptığım veya yeni değerler yazdığımda, aşağıdaki ekran görüntüsünde gösterildiği gibi Sütun C'ye otomatik olarak geçerli tarih ve saat kaydedilsin istiyorum:
Bu görevi aşağıdaki VBA kodu ile tamamlayabilirsiniz. Lütfen şu adımları izleyin:
1. ALT + F11 tuşlarına basılı tutarak Microsoft Visual Basic for Applications penceresini açın.
2. Ardından sol Proje Gezgini'nden kullandığınız çalışma sayfasını seçin, üzerine çift tıklayarak Modülü açın ve ardından aşağıdaki VBA kodunu boş Modüle kopyalayıp yapıştırın:
VBA kodu: Hücre değiştiğinde tarih ve saati otomatik olarak kaydetme
Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20140722
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer
Set WorkRng = Intersect(Application.ActiveSheet.Range("B:B"), Target)
xOffsetColumn = 1
If Not WorkRng Is Nothing Then
Application.EnableEvents = False
For Each Rng In WorkRng
If Not VBA.IsEmpty(Rng.Value) Then
Rng.Offset(0, xOffsetColumn).Value = Now
Rng.Offset(0, xOffsetColumn).NumberFormat = "dd-mm-yyyy, hh:mm:ss"
Else
Rng.Offset(0, xOffsetColumn).ClearContents
End If
Next
Application.EnableEvents = True
End If
End Sub
3. Daha sonra kodu kaydedip kapatın ve çalışma sayfasına geri dönün. Artık Sütun B'deki hücre değerini değiştirdiğinizde veya yeni veri girdiğinizde, tarih ve saat Sütun C'ye otomatik olarak kaydedilecektir.
Notlar:
1. Yukarıdaki kodda, "B:B" ifadesini bu betikte hücre değerlerini değiştirmek istediğiniz başka bir sütunla değiştirebilirsiniz: Set WorkRng = Intersect(Application.ActiveSheet.Range("B:B"), Target).
2. xOffsetColumn = 1 betiğiyle, değişen değer sütununun yanındaki ilk sütuna tarih ve saati ekleyebilir ve güncelleyebilirsiniz. 1 sayısını 2, 3, 4, 5 gibi diğer sayılarla değiştirebilirsiniz; bu, tarihin değiştirilen değerler sütunundan ikinci, üçüncü, dördüncü veya beşinci sütuna ekleneceği anlamına gelir.
3. Değiştirilen sütunda bir değeri sildiğinizde, tarih ve saat de silinecektir.
En İyi Ofis Verimlilik Araçları
Kutools for Excel ile Excel becerilerinizi geliştirin ve daha önce hiç olmadığı kadar verimli olun. Kutools for Excel, üretkenliğinizi artırmak ve zamanınızı kaydetmek için300'den fazla gelişmiş özellik sunar. En çok ihtiyacınız olan özelliği almak için buraya tıklayın...
Office Tab, Office'e sekmeli arayüz getirir ve işinizi çok daha kolaylaştırır
- Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
- Aynı pencerenin yeni sekmelerinde birden fazla belge açın ve oluşturun, yeni pencerelerde değil.
- Verimliliğinizi %50 artırır ve her gün yüzlerce fare tıklamasını azaltır!