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.