VBA DatePart

Funkcja Excel VBA DatePart

DatePart w VBA służy do identyfikacji części daty dla danej daty podanej jako argument, część daty może być dniami, miesiącami lub rokiem, a nawet godziną, minutami i sekundami, składnia tej funkcji bardzo się wyjaśnia i wygląda to następująco: Datepart (Interval, Date as Argument).

Składnia

Poniżej podano składnię funkcji DatePart:

  • Interwał: dane, które mają być przekazane w argumencie interwału, są typu łańcuchowego, co oznacza, że ​​argument ten może zawierać dowolne prawidłowe wartości. Przedział może obejmować rok, miesiąc, kwartał, dzień, tydzień, godzinę, minutę, sekundę.
  • Data: wartość daty, która ma zostać oszacowana.
  • firstdayofweek: to jest parametr opcjonalny. Opisuje pierwszy dzień tygodnia, można to nawet zignorować. Jeśli ten parametr zostanie zignorowany, niedziela zostanie automatycznie pierwszym dniem tygodnia. Jeśli chcesz to zmienić, możesz użyć tego parametru. Ten argument może składać się z vbUseSystem 0.

Użyj ustawienia NLS API

vbSunday (domyślnie), vbMonday, vbTuesday, vbWed Wednesday, vbTh Thursday vbFriday, vbSaturday.
  • firstweekofyear: Podobnie jak najwyższy parametr, jest to również parametr opcjonalny. Opisuje pierwszy tydzień roku. Ten parametr można również zignorować. Jeśli ten parametr jest ignorowany, przyjmuje się, że 1 stycznia jest pierwszym tygodniem roku. Jeśli chcesz to zmienić, możesz użyć tego parametru.

    Ten argument może składać się z następujących wartości.

    vbUseSystem, vbFirstJan1, vbFirstFourDays, vbFirstFullWeek.

Po podaniu wszystkich parametrów, Datepart () zwróci wartość liczbową, taką jak cała data, rok, miesiąc lub kwartał, itd. Stąd typem zwracanym przez tę funkcję będzie wartość liczbowa.

Jak korzystać z funkcji DatePart w VBA?

Możesz pobrać ten szablon VBA DatePart Excel tutaj - szablon VBA DatePart Excel

Przykład 1

Pierwszym przykładem jest wyświetlenie pełnej daty i kwartału tego miesiąca.

Aby to osiągnąć, musimy napisać jakiś kod w Visual Basic, dla tej zakładki Goto Developer, a następnie kliknąć Visual Basic, a wtedy otworzy się okno.

W tym oknie napisz kod, jak pokazano poniżej.

Kod:

 Sub date_Datepart () Dim mydate As Variant mydate = # 12/25/2019 # MsgBox mydate MsgBox DatePart ("q", mydate) 'wyświetla koniec kwartału Sub 

W tym przykładzie użyliśmy funkcji Datepart, aby wyświetlić datę i część daty, która jest kwartałem daty. Wyświetla nadchodzący kwartał roku.

Jeśli debugujemy kod, data zostanie wyświetlona jako pełna data po raz pierwszy, gdy kod wykona „Msgbox mydate”, ponieważ losowa data jest przypisana do zmiennej „mydate”.

Następnie wyświetlamy kwartał roku, dla którego przypada ta data.

Po uruchomieniu kodu ręcznie lub za pomocą klawisza skrótu F5 data zostanie wyświetlona tak, jak pokazano po kliknięciu ok. Następnie zostanie wyświetlony kwartał daty, co można zobaczyć na poniższym zrzucie ekranu.

Podobnie, kwartał, można również wyświetlić tylko datę, miesiąc lub rok.

Przykład nr 2

W tym przykładzie wprowadzę datę ręcznie w czasie wykonywania.

Kod:

Sub date1_datePart () Dim TodayDate As Date 'Deklaruj zmienne. Dim Msg TodayDate = InputBox ("Wprowadź datę:") Msg = "Kwartał:" & DatePart ("q", TodayDate) MsgBox Msg End Sub

W tym przykładzie próbujemy pobrać datę ręcznie w czasie wykonywania. Kod „TodayDate = InputBox („ Enter a date: ”)” w tym wierszu wskazuje, że datę można wprowadzić ręcznie,

Po ręcznym wprowadzeniu daty wyświetla kwartał daty w oknie komunikatu. Można to zobaczyć na poniższym zrzucie ekranu.

Ponieważ miesiąc czerwiec przypada na drugi kwartał, wyświetla się drugi kwartał, jak pokazano na powyższym zrzucie ekranu.

Przykład nr 3

W tym przykładzie wszystkie wartości zostaną wypełnione w komórkach.

Kod:

 Private Sub Workbook_Open () Dim DummyDate As Date DummyDate = ActiveSheet.Cells (2, 2) ActiveSheet.Cells (2, 2) .Value = Day (DummyDate) ActiveSheet.Cells (3, 2) .Value = Hour (DummyDate) ActiveSheet .Cells (4, 2) .Value = Minute (DummyDate) ActiveSheet.Cells (5, 2) .Value = Month (DummyDate) ActiveSheet.Cells (6, 2) .Value = Weekday (DummyDate) End Sub 

Daty są wypełniane w komórkach arkusza programu Excel, w tym celu kod jest zapisywany jako Aktywny arkusz.komórki. Za pomocą tego kodu obecna data może być rokiem miesiącem lub datą można wstawić do podanych komórek.

Na przykład na powyższym zrzucie ekranu

Dzień należy wstawić do komórek (2, 2) arkusza programu Excel. Dlatego kod jest zapisywany jako „ActiveSheet.Cells (2, 2) .Value = Day (DummyDate)”.

Uruchom kod za pomocą klawisza F5 lub ręcznie, a wynik będzie taki, jak pokazano poniżej.

Domyślnie przyjmuje datę dzisiejszą i wyświetla się jako komórka 30 w (2,6).

Podobnie można wypełnić wszystkie inne dane.

Wykorzystanie funkcji DatePart

  • Funkcji DatePart można użyć do wyświetlenia części daty zgodnie z nazwą, tzn. Jeśli tylko dzień lub miesiąc lub rok daty ma być wyświetlony, można użyć tej funkcji.
  • Ta funkcja oddziela również datę, miesiąc i rok od określonej daty.
  • Dzięki tej funkcji data jest nie tylko oddzielona, ​​ale także kwartał, dzień, godzina, minuta i sekunda.

Rzeczy do zapamiętania

  • Ta funkcja może być używana tylko jako funkcja VBA. W normalnym programie Excel nie można tego użyć.
  • Daty, które są podawane jako wartość w tej funkcji, można podać w dowolnym formacie, takim jak format mm-dd-rrrr lub format DD-MM-RRRR itp.
  • This function will separate all the values separately such as date, month, year or time also an hour, minute, seconds also.
  • This is organized under Date and Time Functions in VBA of Microsoft Excel.