Funkcje daty VBA

Spisie treści

W tym samouczku omówimy różne wbudowane funkcje daty VBA.

Funkcja daty VBA

Możesz użyć funkcji daty, aby zwrócić bieżącą datę.

Składnia funkcji Date to Date(). Nie ma argumentów.

Poniższy kod pokazuje, jak używać funkcji daty:

12345678 Sub przy użyciu funkcji daty()Przyciemnij datę jako datędata = data()Debug. Wydrukuj datęNapis końcowy

Wynik to:

Funkcja teraz VBA

Możesz użyć funkcji Now, aby zwrócić bieżącą datę i godzinę.

Składnia funkcji Now to Now(). Nie ma argumentów.

Poniższy kod pokazuje, jak używać funkcji Now:

12345678 Sub KorzystanieTerazFunkcja()Przyciemnij datę jako datętheData = Teraz()Debug. Wydrukuj datęNapis końcowy

Wynik to:

Funkcja czasu VBA

Możesz użyć funkcji czasu, aby powrócić do aktualnego czasu.

Składnia funkcji czasu to Time(). Nie ma argumentów.

Poniższy kod pokazuje, jak używać funkcji czasu:

12345678 Sub przy użyciu funkcjiczasu()Przyciemnij godzinę jako datęczas = czas()Debug. Wydrukuj czasNapis końcowy

Wynik to:

Funkcja VBA DataDodaj

Możesz użyć funkcji DateAdd, aby dodać interwał daty/godziny do daty lub godziny, a funkcja zwróci wynikową datę/godzinę.

Składnia funkcji DateAdd to:

DateAdd(interwał, liczba, data) gdzie:

  • Interval - ciąg znaków określający typ interwału do użycia. Interwał może być jedną z następujących wartości:

"dzień D
„ww” - tydzień
„w” - dzień powszedni
„m” - miesiąc
„q” - ćwiartka
„rrrr” - rok
„y” - dzień roku
„h” - godzina
„n” - minuta
„s” - drugi

  • Liczba - liczba interwałów, które chcesz dodać do oryginalnej daty/godziny.
  • Data - oryginalna data/godzina.

Uwaga: Używając dat w kodzie, musisz je otoczyć # lub cudzysłowami.

Poniższy kod pokazuje, jak używać funkcji DateAdd:

123456789 Sub przy użyciu funkcjiDateAdd()Przyciemnij późniejData jako datalaterDate = DateAdd("m", 10, "11/12/2019")Debug.Print laterDateNapis końcowy

Wynik to:

Funkcja różnicowania daty VBA

Możesz użyć funkcji DateDiff, aby uzyskać różnicę między dwiema datami na podstawie określonego przedziału czasu.

Składnia funkcji DateDiff to:

DateDiff(interwał, data1, data2, [pierwszy dzieńtygodnia], [pierwszytydzieńroku]), gdzie:

  • Interval - ciąg znaków określający typ interwału do użycia. Interwał może być jedną z następujących wartości:

"dzień D
„ww” - tydzień
„w” - dzień powszedni
„m” - miesiąc
„q” - ćwiartka
„rrrr” - rok
„y” - dzień roku
„h” - godzina
„n” - minuta
„s” - drugi

  • Date1 - wartość daty reprezentująca wcześniejszą datę.
  • Date2 - wartość daty reprezentująca datę późniejszą.
  • Pierwszy dzień tygodnia (Opcjonalny) - Stała określająca dzień tygodnia, którego funkcja ma używać jako pierwszy dzień tygodnia. Jeśli puste Niedziela jest używana jako pierwszy dzień tygodnia. Firstdayofweek może być jedną z następujących wartości:

-vbSunday - używa niedzieli jako pierwszego dnia tygodnia.
-vbMonday - używa poniedziałku jako pierwszego dnia tygodnia.
-vbTuesday - używa wtorek jako pierwszego dnia tygodnia.
-vbWednesday - używa środy jako pierwszego dnia tygodnia.
-vbThursday - używa czwartku jako pierwszego dnia tygodnia.
-vbFriday - używa piątku jako pierwszego dnia tygodnia.
-vbSaturday - używa soboty jako pierwszego dnia tygodnia.
-vbUseSystemDayOfTheWeek - używa pierwszego dnia tygodnia określonego w ustawieniach systemu.

  • Pierwszy tydzieńroku (Opcjonalny) - Stała określająca pierwszy tydzień roku. Jeśli puste, pierwszy tydzień stycznia jest używany jako pierwszy tydzień roku. Firstweekofyear może być jedną z następujących wartości:

-vbFirstJan1 - używa tygodnia zawierającego 1 stycznia.
-vbFirstFourDays - używa pierwszego tygodnia zawierającego co najmniej cztery dni nowego roku.
-vbFirstFullWeek - używa pierwszego pełnego tygodnia roku.
-vbSystem - używa pierwszego tygodnia roku określonego w ustawieniach systemu.

Poniższy kod pokazuje, jak używać funkcji DateDiff:

123456789 Podrzędna przy użyciu funkcjiDateDiff()Przyciemnij różnicę między dwiema datami tak długotheDifferenceBetweenTwoDates = DateDiff("q", "11.11.2010", "10.12.2012")Debug. Wydrukuj różnicę między dwiema datamiNapis końcowy

Wynik to:

Funkcja VBA DatePart

Możesz użyć funkcji DatePart, aby zwrócić część (dzień, tydzień, kwartał, miesiąc itp.) z podanej daty.

Składnia funkcji DatePart to:

DatePart(Interwał, Data,[Pierwszydzieńtygodnia],[Pierwszytydzieńroku]) gdzie:

  • Interval - ciąg znaków określający część daty do zwrócenia. Interwał może być jedną z następujących wartości:

"dzień D
„ww” - tydzień
„w” - dzień powszedni
„m” - miesiąc
„q” - ćwiartka
„rrrr” - rok
„y” - dzień roku
„h” - godzina
„n” - minuta
„s” - drugi

  • Data - data, której część ma zwracać funkcja.
  • Pierwszy dzień tygodnia (Opcjonalny) - Stała określająca dzień tygodnia, którego funkcja ma używać jako pierwszy dzień tygodnia. Jeśli puste Niedziela jest używana jako pierwszy dzień tygodnia. Firstdayofweek może być jedną z następujących wartości:

-vbSunday - używa niedzieli jako pierwszego dnia tygodnia.
-vbMonday - używa poniedziałku jako pierwszego dnia tygodnia.
-vbTuesday - używa wtorek jako pierwszego dnia tygodnia.
-vbWednesday - używa środy jako pierwszego dnia tygodnia.
-vbThursday - używa czwartku jako pierwszego dnia tygodnia.
-vbFriday - używa piątku jako pierwszego dnia tygodnia.
-vbSaturday - używa soboty jako pierwszego dnia tygodnia.
-vbUseSystemDayOfTheWeek - używa pierwszego dnia tygodnia określonego w ustawieniach systemu.

  • Pierwszy tydzieńroku (Opcjonalny) - Stała określająca pierwszy tydzień roku. Jeśli puste, pierwszy tydzień stycznia jest używany jako pierwszy tydzień roku. Firstweekofyear może być jedną z następujących wartości:

-vbFirstJan1 - używa tygodnia zawierającego 1 stycznia.
-vbFirstFourDays - używa pierwszego tygodnia zawierającego co najmniej cztery dni nowego roku.
-vbFirstFullWeek - używa pierwszego pełnego tygodnia roku.
-vbSystem - używa pierwszego tygodnia roku określonego w ustawieniach systemu.

Poniższy kod pokazuje, jak używać funkcji DatePart:

123456789 Sub przy użyciu funkcjiDatePartFunction()Przyciemnij część daty jako liczbę całkowitąthePartOfTheDate = DatePart("rrrr", "12/12/2009")Debug. Wydrukuj część datyNapis końcowy

Wynik to:

Funkcja VBA DataSerial

Funkcja VBA DateSerial pobiera wprowadzony rok, miesiąc i dzień i zwraca datę.

Składnia funkcji DateSerial to:

DateSerial(Rok, Miesiąc, Dzień), gdzie:

  • Year - wartość całkowita z zakresu od 100 do 9999, która reprezentuje rok.
  • Miesiąc - wartość całkowita reprezentująca miesiąc.
  • Dzień - wartość całkowita reprezentująca dzień.

Poniższy kod pokazuje, jak używać funkcji DateSerial:

123456789 Sub przy użyciu funkcji daty szeregowej()Przyciemnij datę jako datętheDate = DateSerial (2010, 11, 10)Debug. Wydrukuj datęNapis końcowy

Wynik to:

Funkcja VBA DateValue

Funkcja DateValue zwraca Date, gdy otrzymuje ciąg reprezentujący datę.

Składnia funkcji DateValue to:

DateValue(data) gdzie:

  • Data - ciąg reprezentujący datę.

Poniższy kod pokazuje, jak używać funkcji DateValue:

123456789 Sub przy użyciu funkcjiTheDateValueFunction()Przyciemnij datę jako datętheDate = DateValue("29 października 2010")Debug. Wydrukuj datęNapis końcowy

Wynik to:

Funkcja dnia VBA

Możesz użyć funkcji Dzień, aby zwrócić dzień daty wejściowej.

Składnia funkcji dnia to:

Dzień(wartość_daty), gdzie:

  • Date_value - data, z której chcesz wyodrębnić dzień.

Poniższy kod pokazuje, jak używać funkcji dnia:

123456789 Sub UżywającFunkcjiDnia()Dim the Day As IntegertheDay = Dzień("10/12/2010")Debug.Drukuj dzieńNapis końcowy

Wynik to:

Funkcja godzin VBA

Możesz użyć funkcji godziny, aby zwrócić godzinę czasu wprowadzania.

Składnia funkcji godziny to:

Godzina (czas), gdzie:

  • Czas - czas, z którego chcesz wyodrębnić godzinę.

Poniższy kod pokazuje, jak używać funkcji godziny:

123456789 Sub przy użyciu funkcjiGodzina()Dim theHour As IntegertheGodzina = Godzina("2:14:17 AM")Debug. Wydrukuj godzinęNapis końcowy

Wynik to:

Funkcja minut VBA

Funkcji minut można użyć do zwrócenia wartości minutowej wprowadzonego czasu.

Składnia funkcji minut to:

Minuta (czas), gdzie:

  • Czas - czas, z którego chcesz wyodrębnić wartość minutową.

Poniższy kod pokazuje, jak używać funkcji Minute:

123456789 Sub przy użyciu funkcji minutowej()Przyciemnij wartość minutową jako liczbę całkowitątheMinuteValue = Minuta("2:14:17 AM")Debug. Wydrukuj wartość minutowąNapis końcowy

Wynik to:

Druga funkcja VBA

Możesz użyć drugiej funkcji, aby zwrócić drugą wartość czasu wejściowego.

Składnia drugiej funkcji to:

Drugi (czas), gdzie:

  • Czas - czas, z którego chcesz wyodrębnić drugą wartość.

Poniższy kod pokazuje, jak używać drugiej funkcji:

123456789 Sub przy użyciu drugiej funkcji()Przyciemnij drugą wartość jako liczbę całkowitątheSecondValue = Second("2:14:17 AM")Debug. Wydrukuj drugą wartośćNapis końcowy

Wynik to:

Funkcja miesiąca VBA

Możesz użyć funkcji Miesiąc, aby zwrócić miesiąc daty wejściowej.

Składnia funkcji miesiąca to:

Miesiąc(wartość_daty), gdzie:

  • Date_value - data, z której chcesz wyodrębnić miesiąc.

Poniższy kod pokazuje, jak używać funkcji miesiąca:

12345678 Sub UżywającFunkcjiMiesiąca()Dim the Month As Integermiesiąc = Miesiąc("18.11.2010")Debuguj.Drukuj miesiącNapis końcowy

Wynik to:

VBA Nazwa Miesiąca Funkcja

Możesz użyć funkcji MonthName, aby zwrócić nazwę miesiąca z wprowadzonego numeru miesiąca.

Składnia funkcji MonthName to:

NazwaMiesiąca(Liczba_miesiąca, [Skrót]), gdzie:

  • Number_of_month - wartość całkowita z zakresu od 1 do 12.
  • Skrót (Opcjonalny) - określa, czy nazwa miesiąca powinna być skrócona. Jeśli puste, używana jest domyślna wartość False.
12345678 Sub przy użyciu funkcjiNazwaMiesiąca()Przyciemnij nazwę miesiąca jako ciągtheMonthName = MonthName(12, True)Debuguj. Wydrukuj nazwę miesiącaNapis końcowy

Wynik to:

Funkcja VBA TimeSerial

Funkcja TimeSerial zajmuje wprowadzoną godzinę, minutę i sekundę i zwraca czas.

Składnia funkcji TimeSerial to:

TimeSerial(Godzina, Minuta, Sekunda), gdzie:

  • Godzina - wartość całkowita z zakresu od 0 do 23, która reprezentuje wartość godziny.
  • Minuta - liczba całkowita z zakresu od 0 do 59, która reprezentuje wartość minutową.
  • Drugi - wartość całkowita z zakresu od 0 do 59, która reprezentuje drugą wartość.

Poniższy kod pokazuje, jak używać funkcji TimeSerial:

12345678 Sub Używając Funkcji Szeregowej Czasu()Przyciemnij godzinę jako datętheTime = TimeSerial (1, 10, 15)Debug. Wydrukuj czasNapis końcowy

Wynik to:

Funkcja wartości czasu VBA

Funkcja TimeValue zwraca Time z ciągu reprezentującego datę lub godzinę.

Składnia funkcji TimeValue to:

WartośćCzasu(Czas), gdzie:

  • Czas - ciąg reprezentujący czas.

Poniższy kod pokazuje, jak używać funkcji TimeValue:

12345678 Sub Używając FunkcjiWartościCzasu()Przyciemnij godzinę jako datętheTime = TimeValue("22:10:17")Debug. Wydrukuj czasNapis końcowy

Wynik to:

Funkcja VBA w dni powszednie

Możesz użyć funkcji dni tygodnia, aby zwrócić liczbę całkowitą od 1 do 7 reprezentującą dzień tygodnia z daty wejściowej.

Składnia funkcji dni tygodnia to:

Dzień tygodnia(Data, [Pierwszydzieńtygodnia]), gdzie:

  • Data - data, z której chcesz wyodrębnić wartość dnia tygodnia.
  • Pierwszy dzień tygodnia (Opcjonalny) - Stała określająca dzień tygodnia, którego funkcja ma używać jako pierwszy dzień tygodnia. Jeśli puste Niedziela jest używana jako pierwszy dzień tygodnia. Firstdayofweek może być jedną z następujących wartości:

-vbSunday - używa niedzieli jako pierwszego dnia tygodnia.
-vbMonday - używa poniedziałku jako pierwszego dnia tygodnia.
-vbTuesday - używa wtorek jako pierwszego dnia tygodnia.
-vbWednesday - używa środy jako pierwszego dnia tygodnia.
-vbThursday - używa czwartku jako pierwszego dnia tygodnia.
-vbFriday - używa piątku jako pierwszego dnia tygodnia.
-vbSaturday - używa soboty jako pierwszego dnia tygodnia.
-vbUseSystemDayOfTheWeek - używa pierwszego dnia tygodnia określonego w ustawieniach systemu.

Poniższy kod pokazuje, jak używać funkcji dni tygodnia:

1234567 Sub przy użyciu funkcji dnia tygodnia()Dim theWeekDay As IntegertheWeekDay = Dzień tygodnia("20.11.2019")Debug.Drukuj dzień tygodniaNapis końcowy

Wynik to:

VBA Nazwa dnia tygodnia Funkcja

Możesz użyć funkcji WeekdayName, aby zwrócić nazwę dnia tygodnia z wprowadzonego numeru dnia tygodnia.

Składnia funkcji WeekdayName to:

WeekdayName (dzień tygodnia, [skrót], [pierwszy dzień tygodnia]), gdzie:

  • Dzień powszedni - wartość całkowita z zakresu od 1 do 7.
  • Skrót (Opcjonalny) - określa, czy nazwa dnia tygodnia powinna być skrócona. Jeśli jest puste, używana jest domyślna wartość False.
  • Pierwszy dzień tygodnia (Opcjonalny) - Stała określająca dzień tygodnia, którego funkcja ma używać jako pierwszy dzień tygodnia. Jeśli puste Niedziela jest używana jako pierwszy dzień tygodnia. Firstdayofweek może być jedną z następujących wartości:

-vbSunday - używa niedzieli jako pierwszego dnia tygodnia.
-vbMonday - używa poniedziałku jako pierwszego dnia tygodnia.
-vbTuesday - używa wtorek jako pierwszego dnia tygodnia.
-vbWednesday - używa środy jako pierwszego dnia tygodnia.
-vbThursday - używa czwartku jako pierwszego dnia tygodnia.
-vbFriday - używa piątku jako pierwszego dnia tygodnia.
-vbSaturday - używa soboty jako pierwszego dnia tygodnia.
-vbUseSystemDayOfTheWeek - używa pierwszego dnia tygodnia określonego w ustawieniach systemu.

12345678 Sub przy użyciu funkcji nazwy dnia tygodnia()Przyciemnij nazwę dnia tygodnia jako ciągtheWeekdayName = WeekdayName(4)Debug. Wydrukuj nazwę dnia tygodniaNapis końcowy

Wynik to:

Funkcja roku VBA

Możesz użyć funkcji Year, aby zwrócić rok daty wejściowej.

Składnia funkcji roku to:

Rok(wartość_daty), gdzie:

  • Date_value - data, z której chcesz wyodrębnić rok.

Poniższy kod pokazuje, jak używać funkcji roku:

12345678 Sub przy użyciu funkcji roku()Dim the Year As Integerrok = rok("11.12.2010")Debug.Drukuj rokNapis końcowy

Wynik to:

Porównywanie dat w VBA

Możesz porównywać daty za pomocą operatorów >, < i = w VBA. Poniższy kod pokazuje, jak porównać dwie daty w VBA.

12345678910111213141516171819 Podrzędne daty porównania()Dim dateOne As DateWygaszona data Two As Datedata1 = "10/10/2010"data druga = "11/11/2010"Jeśli data1 > data druga WtedyDebug.Print "dateOne jest datą późniejszą"ElseIf dataJeden = dataDruga WtedyDebug.Print "Dwie daty są równe"W przeciwnym razieDebug.Print "dateTwo to późniejsza data"Zakończ, jeśliNapis końcowy

Dowiedz się więcej o formatowaniu dat jako ciągów, wyświetlając ten samouczek.

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

wave wave wave wave wave