Wstaw znacznik daty i czasu za pomocą VBA

Spisie treści

Wstawianie daty i godziny w Excelu za pomocą VBA jest tak proste, jak pisanie formuły w komórce.

Kod znacznika czasu VBA to:

Zakres („A1”). Wartość = Format(Teraz, "mm/dd/rrrr GG:mm:ss")

Ten kod pokaże aktualną datę i godzinę w komórce A1. I tak, to jest to. zrobione.

Funkcja „Teraz” zwraca bieżącą datę i godzinę, a funkcja „Format” formatuje dane wyjściowe do formatu „mm/dd/rrrr GG:mm:ss”.

Pokaż datę i godzinę za każdym razem, gdy wprowadzana jest zmiana za pomocą VBA.

Załóżmy, że przygotowałeś arkusz. W tym arkuszu chcesz, aby czas był wyświetlany w kolumnie B za każdym razem, gdy ktoś dokona wpisu w kolumnie A.

Teraz potrzebujemy kodu znacznika czasu VBA, który jest uruchamiany za każdym razem, gdy wprowadzana jest zmiana w kolumnie A.

Poniższy kod ułatwia pracę.

Uruchom makro po wprowadzeniu zmiany (obsługa zdarzeń zmiany arkusza roboczego)

Private Sub Worksheet_Change(ByVal Target As Range) Jeśli nie przecina(Target, Range("A:A")) jest niczym, a następnie przy błędzie Wznów następne If Target.Value = "" ThenTarget.Offset(0, 1) = "" Else Target .Offset(0, 1).Value = Format(Teraz, "mm/dd/rrrr GG:mm:ss") End If End If End Sub 

Aby uruchomić ten kod, otwórz VBA i kliknij dwukrotnie arkusz w oknie projektu, w którym chcesz wyświetlić znacznik czasu.

Teraz musimy użyć obsługi zdarzeń VBA, ponieważ chcemy uruchamiać nasz kod za każdym razem, gdy wprowadzana jest zmiana.

Z listy rozwijanej nad kodem wybierz Arkusz.

Teraz obok listy rozwijanej arkusza roboczego zobaczysz kolejną listę rozwijaną. Zawiera wiele programów obsługi zdarzeń. Na razie wybierz „zmień”.

Teraz skopiuj powyższy kod tutaj.

I gotowe. Wróć do swojego arkusza i sprawdź go.

Wyjaśnienie kodu:

    • Kod jest zapisywany na arkuszu sheet1 poprzez dwukrotne kliknięcie na nim. Oznacza to, że Twój kod należy tylko do tego arkusza.
    • Użyliśmy obsługi zdarzeń „Zmień” w „Arkuszu”, aby wyzwolić nasz kod VBA.
    • Private Sub Worksheet_Change (ByVal Target As Range)

      Jest to stała i domyślna nazwa podprogramu obsługi zdarzeń zmiany.

    • Chcemy, aby nasz kod uruchamiał zmianę tylko w kolumnie A.
    • Jeśli nie przecina(cel, zakres("A:A")) jest niczym wtedy

      Ten wiersz sprawdza, czy zmieniona komórka znajduje się w kolumnie A, czy nie.

    • Teraz, jeśli powyższy wiersz zwraca True, to te wiersze są wykonywane
Przy błędzie Wznów dalej If Target.Value = "" ThenTarget.Offset(0, 1) = "" ElseTarget.Offset(0, 1).Value = Format(Teraz, "mm/dd/rrrr GG:mm:ss")

Pierwsza linia ignoruje komunikat o błędzie i uruchamia te dwie linie. Jeśli pominiesz On Błąd Wznów Dalej po usunięciu wartości w kolumnie A zobaczysz komunikat o błędzie.

If Target.Value = "" Wtedy

:- Ten wiersz sprawdza, czy komórka w kolumnie A jest pusta. Jeśli tak, to

Cel.Przesunięcie(0, 1) = ""

:- Ta linia usuwa sąsiednią wartość komórki.

A jeśli Fałsz

 Else Target.Offset(0, 1).Value = Format(Teraz, "mm/dd/rrrr GG:mm:ss")

:- Ten wiersz wprowadza aktualną godzinę i datę w sąsiedniej kolumnie A.

  • A ostatnie trzy linie po prostu zamykają odpowiedni blok. I gotowe. Teraz masz arkusz, który podaje dokładny czas zmiany dokonanej w komórce kolumny A.

Być może zauważyłeś, że na liście rozwijanej znajduje się kilka programów obsługi zdarzeń. Baw się wokół nich. Spróbuj dowiedzieć się, jak działa każdy program obsługi zdarzeń. A jeśli masz jakiekolwiek trudności, zapisz to w sekcji komentarzy.

Wstaw znacznik daty i czasu za pomocą VBA

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave