Data Excel VBA

Jest kilka funkcji, które są naprawdę bardzo przydatne i dusimy nasze życie bez tych funkcji, które są użytkownikami VBA. Funkcja DATE jest jedną z tych funkcji, które czasami mogą być naprawdę bardzo przydatne i mogą ułatwić programistom życie. W arkuszu kalkulacyjnym Excel znajduje się funkcja o nazwie DZIŚ (), która podaje bieżącą datę jako wynik na podstawie daty systemowej. W podobnych liniach VBA ma funkcję DATA, która podaje aktualną datę na podstawie daty systemowej.

W rezultacie funkcja DATA VBA zwraca bieżącą datę na podstawie daty systemowej i ma naprawdę bardzo prostą składnię.

Ta funkcja nie ma żadnego argumentu do przekazania. Zawiera nazwę funkcji i puste nawiasy. Dodanie nawiasów również podczas wywoływania tej funkcji nie jest obowiązkowe. Czy ta funkcja z natury nie jest tak prosta?

Składnia funkcji DATE w VBA.

Jak korzystać z funkcji daty Excel VBA?

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

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

Funkcja daty VBA - przykład nr 1

Załóżmy, że chcesz zobaczyć aktualną datę w MsgBox. Jak możesz to robić? Wystarczy wykonać poniższe czynności, aby przejść.

Krok 1: Wstaw nowy moduł do edytora Visual Basic.

Krok 2: Zdefiniuj podprocedurę zapisu i utwórz i zapisz makro.

Kod:

 Sub Data Ex1 () End Sub 

Krok 3: Zdefiniuj zmienną o nazwie CurrDate, która może przechowywać wartość bieżącej daty. Ponieważ mamy zamiar przypisać wartość zmiennej do zmiennej, upewnij się, że definiujesz ją jako datę.

Kod:

 Sub DateEx1 () Dim CurrDate As Date End Sub 

Krok 4: Za pomocą operatora przypisania przypisz wartość bieżącej daty systemowej do nowo utworzonej zmiennej. Wystarczy dodać DATE, aby przypisać wartość daty. Użyj następującego fragmentu kodu:

Kod:

 Sub DateEx1 () Dim CurrDate As Date CurrDate = Data zakończenia Sub 

Krok 5: Użyj MsgBox, aby zobaczyć aktualną datę systemową w oknie komunikatu. Użyj poniższego wiersza kodu:

Kod:

 Sub DateEx1 () Dim CurrDate As Date CurrDate = Data MsgBox „Dzisiejsza data to:” i CurrDate End Sub 

Krok 6: Naciśnij klawisz F5 lub uruchom ręcznie, aby uruchomić ten kod. Zobaczysz okno wiadomości pokazane na poniższym zrzucie ekranu z bieżącą datą.

Zauważ, że data pokazana tutaj na zrzucie ekranu to data uruchomienia tego skryptu. Być może otrzymujesz inną datę w momencie uruchomienia tego kodu, w zależności od daty systemowej.

To najprostszy przykład uzyskania bieżącej daty. Możesz także użyć funkcji Cells.Value, aby uzyskać wartość daty w określonej komórce arkusza programu Excel.

Funkcja daty VBA - Przykład 2

Termin spłaty pożyczki mieszkaniowej EMI

Załóżmy, że mam arkusz roboczy i potrzebuję systemu, aby pokazać mi komunikat „ Hej! Musisz zapłacić swój EMI już dziś. „Za każdym razem, gdy otwieram arkusz, a wartość w komórce A1 jest bieżącą datą systemową. Zobaczmy krok po kroku, jak możemy to zrobić.

Krok 1: Wstaw nowy moduł i zdefiniuj nową podprocedurę o nazwie auto_open (), aby utworzyć makro. auto_open () umożliwia automatyczne uruchamianie makra za każdym razem, gdy otwierasz arkusz.

Kod:

 Sub auto_open () End Sub 

Krok 2: Użyj warunku If, aby przypisać wartość bieżącej daty w komórce A1 arkusza roboczego HomeLoan_EMI.

Kod:

 Sub auto_open () If Sheets („HomeLoan_EMI”). Zakres („A1”). Wartość = Data Koniec Sub 

Krok 3: Teraz użyj Następnie w tym samym wierszu po JEŻELI, abyśmy mogli dodać instrukcję, która będzie wykonywana, dopóki warunek if będzie spełniony.

Kod:

 Sub auto_open () If Sheets („HomeLoan_EMI”). Zakres („A1”). Wartość = Data, a następnie koniec Sub 

Krok 4: Dodaj instrukcję do wykonania dla warunku, który jest prawdziwy.

Kod:

 Sub auto_open () Jeśli Arkusze („HomeLoan_EMI”). Zakres („A1”). Wartość = Data Następnie MsgBox („Hej! Musisz zapłacić EMI dzisiaj.”) Koniec Sub 

To oświadczenie pojawi się w oknie komunikatu, gdy tylko warunek If będzie spełniony.

Krok 5: Jak wiemy, każdy warunek IF zawsze wymagał innego warunku. Dodaj warunek Else do tej pętli.

Kod:

 Sub auto_open () If Sheets („HomeLoan_EMI”). Zakres („A1”). Wartość = Data Następnie MsgBox („Hej! Musisz zapłacić EMI dzisiaj.”) Else Wyjdź Sub Sub Sub 

Ten inny warunek zakończy automatyczne otwieranie Makra, jeśli data w komórce A1 nie jest bieżącą datą systemową.

Krok 6: Na koniec zakończ pętlę IF, używając instrukcji End IF.

Kod:

 Sub auto_open () If Sheets („HomeLoan_EMI”). Zakres („A1”). Wartość = Data Następnie MsgBox („Hej! Musisz zapłacić EMI dzisiaj.”) Else Wyjdź z Sub End Jeśli End Sub 

Krok 7: To jest to, teraz za każdym razem, gdy otwierasz arkusz, system automatycznie uruchomi powyższy kod i sprawdzi, czy wartość daty w komórce A1 jest datą wymaganą EMI, czy nie. Jeśli termin wymagalności EMI jest równy dacie systemowej, wyświetli się następujący komunikat:

Funkcja daty VBA - przykład nr 3

Data VBA, aby dowiedzieć się o odbiorcy rachunku karty kredytowej

Załóżmy, że mam listę klientów, którzy mają kartę kredytową, a ty chcesz wiedzieć, kto ma dzisiaj należną płatność. Abyś mógł do nich zadzwonić i poprosić ich o natychmiastową zapłatę przez EOD.

Data VBA może być przydatna, pozwalając zautomatyzować rzeczy zamiast sprawdzać daty jeden po drugim. Zobaczmy, jak to zrobić krok po kroku:

Krok 1: Zdefiniuj nowe makro za pomocą podprocedury w module.

Kod:

 Sub DateEx3 () End Sub 

Krok 2: Zdefiniuj dwie nowe zmienne, z których jedna będzie przydatna w zapętlaniu kodu, a druga w celu utrzymania wartości bieżącej daty systemowej.

Kod:

 Sub DateEx3 () Dim DateDue As Date Dim i As Long DateDue = Data i = 2 End Sub 

Krok 3: Teraz użyj następującego fragmentu kodu, który pomaga w wyszukiwaniu osoby, która ma termin płatności rachunku karty kredytowej jako bieżącą datę systemową. Ten kod umożliwia sprawdzenie klienta, który ma należną płatność rachunku w bieżącej dacie systemowej wraz z kwotą rachunku.

Kod:

 Sub DateEx3 () Dim DateDue As Date Dim i As Long DateDue = Data i = 2 For i = 2 To Sheets („CC_Bill”). Komórki (Rows.Count, 1). End (xlUp) .Row If DateDue = DateSerial ( Rok (DateDue), miesiąc (Arkusze („CC_Bill”). Komórki (i, 3). Wartość), Dzień (Arkusze („CC_Bill”). Komórki (i, 3). Wartość)) Następnie MsgBox „Nazwa klienta:” & Arkusze („CC_Bill”). Komórki (i, 1) .Wartość i vbNewLine & „Kwota Premium:” i Arkusze („CC_Bill”). Komórki (i, 2). Wartość końcowa, jeśli następny i koniec podrzędny 

Krok 4: Uruchom ten kod, naciskając ręcznie klawisz F5 lub Run i zobacz wynik.

Przy pierwszej iteracji możemy zobaczyć, że Mohan jest tym, który ma rachunek w wysokości 12.900 należny w dniu 29 kwietnia 2019 r. (Aktualna data systemowa, w której ten kod jest uruchamiany). Jeśli trafimy OK, możemy zobaczyć następną nazwę klienta, który ma rachunek należny w dniu 29 kwietnia 2019 r. (Rajani jest następny).

Ten kod będzie naprawdę przydatny, gdy masz miliony wierszy klientów, którzy mają rachunek należny w danym dniu. Należy pamiętać, że wszystkie skrypty wymienione w tym artykule są uruchamiane w dniu 29 kwietnia 2019 r. Po uruchomieniu tego przykładowego kodu na podstawie daty systemowej możesz uzyskać inną wartość daty.

Rzeczy do zapamiętania

  • Funkcja VBA DATE zwraca bieżącą datę systemową i równolegle do funkcji TODAY () programu Excel.
  • Funkcja VBA DATE nie ma żadnego argumentu do przekazania w programie Excel. Nie trzeba nawet wywoływać nawiasów podczas korzystania z tej funkcji w kodzie.
  • VBA DATE to nieulotna funkcja w programie Excel.
  • VBA przechowuje wartości daty jako DATE w momencie wykonania. Zatem nie definiuje zmiennej przechowującej wartość jako String / Integer. Spowoduje to błąd podczas wykonywania kodu.

Polecane artykuły

To był przewodnik po dacie Excel VBA. Tutaj omówiliśmy, jak korzystać z funkcji daty VBA programu Excel wraz z praktycznymi przykładami i szablonem programu Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. Co to jest format daty VBA?
  2. Excel Wstaw datę | Samouczek programu Excel
  3. VBA GoTo | Jak używać?
  4. EDYCJA Funkcja Excela (wzór, przykład)
  5. Co to jest VBA DateSerial?

Kategoria: