Czas VBA - Jak korzystać z funkcji czasu Excel VBA? (Przykłady)

Spisie treści:

Anonim

Czas Excel VBA

Funkcja VBA TIME zwraca aktualny czas jako wynik i może być również użyty jako dane wejściowe do różnych makropoleceń kodu. Ta funkcja nie ma ustawionego żadnego parametru, a zatem ma najprostszą składnię jako słowo CZAS z pustymi nawiasami, które można zobaczyć jak poniżej:

Składnia funkcji VBA TIME:

Czas()

W rzeczywistości nie ma również potrzeby nawiasów, możesz po prostu użyć samego słowa CZAS w bloku kodu, który pozwala systemowi zwrócić bieżącą godzinę. Mamy również podobną funkcję o nazwie NOW () w Excel VBA, która zwraca bieżącą godzinę wraz z datą. Jednak w tym artykule skupimy się na korzystaniu z funkcji CZAS i analizowaniu różnych jej przykładów.

Jak korzystać z funkcji czasu Excel VBA?

Nauczymy się korzystać z funkcji czasu VBA z kilkoma przykładami w programie Excel.

Możesz pobrać ten szablon Excel VBA Time tutaj - Szablon Excel VBA Time

Funkcja czasu VBA - Przykład 1

Aktualny czas systemowy za pomocą funkcji CZAS:

Wykonaj poniższe kroki, aby wyświetlić aktualny czas systemu.

Krok 1: Zdefiniuj podprocedurę.

Kod:

 Sub TimeExample1 () End Sub 

Krok 2: Zdefiniuj zmienną, która będzie przydatna do przechowywania wartości czasu dla Ciebie. Zdefiniuj jako ciąg.

Kod:

 Sub TimeExample1 () Dim CurrentTime As String End Sub 

Uwaga: Powodem zdefiniowania tej zmiennej jako String jest wynik funkcji TIME w postaci ciągu.

Krok 3: Użyj funkcji CZAS VBA, aby przypisać bieżący czas do zmiennej zdefiniowanej w powyższym kroku za pomocą operatora przypisania.

Kod:

 Sub TimeExample1 () Dim CurrentTime As String CurrentTime = Time End Sub 

Krok 4: Jak wspomniałem wcześniej, po funkcji CZAS nie trzeba dodawać nawiasów, ponieważ jest to funkcja niestabilna. Powiedziawszy to, poniższy kod da równoważne wyjście w porównaniu z powyższym kodem.

Kod:

 Sub TimeExample1 () Dim CurrentTime As String CurrentTime = Time () End Sub 

Krok 5: Teraz użyj funkcji MsgBox, aby wyświetlić bieżącą godzinę za pomocą wyświetlanego okna komunikatu.

Kod:

 Sub TimeExample1 () Dim CurrentTime As String CurrentTime = Time () MsgBox CurrentTime End Sub 

Krok 6: Uruchom ten kod, naciskając klawisz F5 lub Run i zobacz wynik. Powinieneś otrzymać wynik, jak pokazano na poniższym obrazku.

Pamiętaj, że czas odzwierciedlony na powyższym obrazie to czas, w którym ten kod jest uruchamiany w systemie. Podczas samodzielnego wypróbowywania wyniki mogą się różnić w zależności od czasu pracy nad tym kodem.

Funkcja czasu VBA - Przykład 2

VBA TIME w połączeniu z funkcją Data, aby przywrócić aktualny czas z dzisiejszą datą:

Jak informowano wcześniej we wstępie tego artykułu, istnieje funkcja o nazwie NOW (), która podaje bieżącą datę oraz godzinę w programie Microsoft Excel. Zobacz zrzut ekranu podany poniżej.

Jednak w VBA ta funkcja nie działa. Dlatego w VBA musimy użyć kombinacji funkcji VBA Data i VBA CZAS, aby uzyskać bieżącą datę i bieżącą godzinę. Data VBA poda aktualną datę, a VBA Time poda bieżącą godzinę (co widzieliśmy już w pierwszym przykładzie).

Zobaczmy krok po kroku, jak możemy to osiągnąć.

Krok 1: Wstaw nowy moduł do skryptu Excel VBA.

Krok 2: Zdefiniuj nową podprocedurę, nadając nazwę makrze.

Kod:

 Sub Przykład 2 () End Sub 

Krok 3: Chcieliśmy, aby nasze wyniki były przechowywane w komórce A1 naszego arkusza programu Excel. W tym celu zacznij pisać kod jak poniżej.

Kod:

 Sub Przykład 2 () Zakres („A1”). Wartość = End Sub 

Krok 4: Teraz użyj kombinacji funkcji VBA DATE i VBA TIME, jak pokazano poniżej i przypisz jej wartość do komórki A1.

Kod:

 Sub Przykład 2 () Zakres („A1”). Wartość = Data i „” i czas Koniec Sub 

Funkcja DATA zwróci bieżącą datę systemu, a funkcja CZAS zwróci bieżącą godzinę. Biała spacja ujęta w podwójne cudzysłowy („”) pozwala na umieszczenie spacji między datą i godziną w końcowym wyniku. Dwaj operatorzy & (i) działają jako operatory konkatenacji, które łączą DATĘ i CZAS z miejscem w nim.

Krok 5: Uruchom kod, naciskając ręcznie klawisz F5 lub Run. Zobaczysz wynik w komórce A1 arkusza roboczego jako cios:

Tutaj ponownie zauważ, że czas odzwierciedlający w komórce A1 to data i godzina, o której ten kod jest uruchamiany przeze mnie. Dlatego po uruchomieniu tego kodu wyniki będą inne.

Możemy również sformatować wartości daty i godziny za pomocą funkcji NumberFormat w VBA.

Krok 6: Napisz poniższy kod w skrypcie VBA.

Kod:

 Sub Przykład 2 () Zakres („A1”). Wartość = Data i „” i Zakres czasu („A1”). NumberFormat = „dd-mmm-rrrr gg: mm: ss AM / PM” End Sub 

Krok 7: Naciśnij F5 lub przycisk Uruchom ręcznie, a zobaczysz wynik jak poniżej w komórce A1 arkusza roboczego.

Funkcja czasu VBA - Przykład 3

Funkcja VBA TIME do śledzenia godziny otwarcia i daty skoroszytu:

Czasami istnieje jeden arkusz kalkulacyjny, który często otwieramy (jak lista pracowników organizacji) i wprowadzamy w nim zmiany. Możemy być zainteresowani poznaniem daty i godziny wprowadzenia zmian w arkuszu. Za pomocą funkcji VBA Time można śledzić datę i godzinę przy każdym otwarciu skoroszytu. Zobacz poniższe kroki, aby pracować nad tym samym.

Krok 1: Utwórz nowy arkusz roboczy w skoroszycie programu Excel i zmień jego nazwę według własnego uznania. Zmienię nazwę na (Time_Track).

Krok 2: Kliknij dwukrotnie ThisWorkbook w VBE (Visual Basics Editor).

Krok 3: Z listy rozwijanej obiektu wybierz Skoroszyt zamiast Ogólne.

Krok 4: Zobaczysz nową prywatną podprocedurę zdefiniowaną pod nazwą Workbook_Open () w VBE.

Kod:

 Sub prywatny skoroszyt_Open () End Sub 

Krok 5: Zapisz niżej wymieniony kod w tej podprocedrze makr, jak pokazano na poniższym obrazku:

Kod:

 Prywatny Sub Workbook_Open () Dim LB As Long LB = Arkusze („Time_Track”). Komórki (Rows.Count, 1) .End (xlUp) .Row + 1 Arkusze („Time_Track”). Komórki (LB, 1) .Value = Data i „” i godzina () Koniec Sub 

Tutaj definiowana jest zmienna LB typu Long, aby znaleźć komórkę obok ostatnio użytej komórki, w której można zapisać dane wyjściowe. Następnie, używając kombinacji funkcji VBA DATE i TIME, przypisaliśmy wartość w tej komórce.

Krok 6: Uruchom kod, naciskając ręcznie klawisz F5 lub Run i zobacz wynik w kolumnie A arkusza roboczego.

Ten kod będzie przechowywał wartość Data i godzina za każdym razem, gdy otworzysz arkusz roboczy Time_Track.

To jest z tego artykułu. Podsumujmy to, pisząc kilka rzeczy do zapamiętania.

Rzeczy do zapamiętania

  • Funkcja VBA TIME przechowuje dane wyjściowe jako ciąg w programie Excel. Możemy jednak również przechowywać go w formacie daty, definiując zmienną jako datę zamiast ciągu.
  • Funkcja CZAS nie wymaga w niej żadnego argumentu. Jest to lotna funkcja.
  • Nawet to nie potrzebuje nawiasów do wywołania funkcji. Wystarczy CZAS, aby uzyskać aktualny czas.
  • Funkcja CZAS domyślnie przechowuje wartość czasu w formacie gg: mm: ss (format 24-godzinny). Czasami jednak format wyjściowy zależy również od formatu czasu systemowego.

Polecane artykuły

Jest to przewodnik po funkcji czasu VBA. Tutaj omówiliśmy, jak korzystać z funkcji czasowych Excel VBA, a także nauczyliśmy się kombinacji daty i godziny jako alternatywy dla funkcji Now () i śledzimy otwarte rekordy skoroszytu wraz z praktycznymi przykładami i szablonem Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. Jak utworzyć Excel VBA MsgBox?
  2. WORKDAY Funkcja programu Excel | Formuła
  3. Przewodnik po VBA Do While Loop
  4. Wstaw datę w programie Excel