VBA ile Tarih Zaman Damgası Ekle

İçindekiler

VBA kullanarak Excel'de tarih saati eklemek, bir Hücreye formül yazmak kadar basittir.

VBA zaman damgası kodu:

Aralık(“A1”).değer = Format(Şimdi, "aa/gg/yyyy SS:dd:ss")

Bu kod, A1 hücresindeki geçerli tarih ve saati gösterecektir. Ve evet, bu kadar. bitti.

“Now” işlevi geçerli tarih ve saati döndürür ve “Format” işlevi çıktıyı "aa/gg/yyyy SS:dd:ss" biçiminde biçimlendirir.

VBA kullanılarak her değişiklik yapıldığında tarih ve saati göster.

Diyelim ki bir sayfa hazırladınız. Bu sayfada, birisi A Sütunu girişi yaptığında zamanın B sütununda gösterilmesini istiyorsunuz.

Şimdi, A sütununda her değişiklik yapıldığında çalışan bir VBA zaman damgası koduna ihtiyacımız var.

Aşağıdaki kod işi kolayca halleder.

Bir Değişiklik Yapıldığında Makroyu Çalıştır (Çalışma Sayfası Değişikliği Olay İşleyicisi)

Private Sub Worksheet_Change(ByVal Target As Range) Eğer Kesişmiyorsa(Target, Range("A:A")) NeverOn Hatası Sonraki If Target.Value = "" ThenTarget.Offset(0, 1) = "" Başka Hedef .Offset(0, 1).Value = Format(Şimdi, "aa/gg/yyyy SS:dd:ss") End If End If End Sub 

Bu kodu çalıştırmak için VBA'yı açın ve zaman damgasını göstermek istediğiniz proje penceresindeki sayfaya çift tıklayın.

Artık kodumuzu her değişiklik yapıldığında çalışacak şekilde çalıştırmak istediğimiz için VBA olay işleyicisini kullanmamız gerekiyor.

Kodunuzun yukarısındaki açılır menüden Çalışma Sayfası'nı seçin.

Şimdi çalışma sayfasının yanındaki açılır listenin yanında, başka bir açılır menü görüyorsunuz. Çok sayıda olay işleyici içerir. Şimdilik "değiştir" i seçin.

Şimdi yukarıdaki kodu buraya kopyalayın.

Ve yapılır. Sayfanıza dönün ve kontrol edin.

Kod Açıklaması:

    • Kod, üzerine çift tıklanarak sayfa1'e yazılır. Bu, kodunuzun yalnızca bu sayfaya ait olduğu anlamına gelir.
    • VBA Kodumuzu tetiklemek için “Çalışma Sayfası”nın “Değiştir” olay işleyicisini kullandık.
    • Private Sub Worksheet_Change(ByVal Target As Range)

      Bu, bir change olay işleyicisinin sabit ve varsayılan alt yordam adıdır.

    • Kodumuzun sadece A sütununda değişiklik yapmasını istiyoruz.
    • Kesişmiyorsa(Hedef, Aralık("A:A")) O Zaman Hiçbir Şey Değildir

      Bu satır, değiştirilen hücrenin A sütununda olup olmadığını kontrol eder.

    • Şimdi, yukarıdaki satır True değerini döndürürse, bu satırlar yürütülür.
Hatada Devam Et Sonraki If Target.Value = "" ThenTarget.Offset(0, 1) = "" ElseTarget.Offset(0, 1).Value = Format(Şimdi, "aa/gg/yyyy SS:dd:ss")

İlk satır, error pop'u yok sayar ve bu iki satırı çalıştırır. Açık'ı atlarsanız Hata Devam Et Sonraki A sütununda bir değeri sildiğinizde hatanın ortaya çıktığını göreceksiniz.

Eğer Target.Value = "" O zaman

:- Bu satır, A sütunundaki bir hücrenin boş olup olmadığını kontrol eder. eğer evet ise

Target.Offset(0, 1) = ""

:- Bu satır bitişik hücre değerini siler.

Ve eğer Yanlış

 Else Target.Offset(0, 1).Value = Format(Şimdi, "aa/gg/yyyy SS:dd:ss")

:- Bu satır, A sütununun bitişiğindeki geçerli saati ve tarihi girer.

  • Ve son üç satır kendi bloğunu kapatır. Ve bitti. Artık A sütununun hücresinde yapılan değişikliğin tam zamanını veren bir sayfanız var.

Açılır listede birkaç olay işleyici olduğunu fark etmiş olabilirsiniz. Onların etrafında oynayın. Her olay işleyicisinin ne işe yaradığını bulmaya çalışın. Ve herhangi bir zorluk yaşarsanız, yorumlar bölümüne yazın.

VBA ile Tarih Zaman Damgası Ekle

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave