V tomto tutoriálu si projdeme různé vestavěné funkce VBA Date.
Funkce data VBA
Chcete -li vrátit aktuální datum, můžete použít funkci Datum.
Syntaxe funkce Date je Date (). Nemá žádné argumenty.
Následující kód ukazuje, jak používat funkci data:
12345678 | Dílčí používáníTheDateFunction ()Dim the Date as DatetheDate = Datum ()Ladění. Vytiskněte datumEnd Sub |
Výsledek je:
Funkce VBA nyní
Pomocí funkce Now můžete vrátit aktuální datum a čas.
Syntaxe funkce Now je Now (). Nemá žádné argumenty.
Následující kód ukazuje, jak používat funkci Now:
12345678 | Dílčí používáníTheNowFunction ()Dim the Date as DatetheDate = Now ()Ladění. Vytiskněte datumEnd Sub |
Výsledek je:
Funkce VBA Time
Pomocí funkce Čas můžete vrátit aktuální čas.
Syntaxe časové funkce je Time (). Nemá žádné argumenty.
Následující kód ukazuje, jak používat funkci času:
12345678 | Dílčí používáníTheTimeFunction ()Dim the Time as DatetheTime = Time ()Ladění. Vytiskněte časEnd Sub |
Výsledek je:
Funkce VBA DateAdd
Funkci DateAdd můžete použít k přidání intervalu data/času k datu nebo času a funkce vrátí výsledné datum/čas.
Syntaxe funkce DateAdd je:
DateAdd (interval, číslo, datum) kde:
- Interval - Řetězec, který určuje typ intervalu, který se má použít. Interval může být jedna z následujících hodnot:
„D“ - den
„Ww“ - týden
„W“ - všední den
„M“ - měsíc
„Q“ - čtvrtletí
„Rrrr“ - rok
„Y“ - den v roce
„H“ - hodina
„N“ - minuta
„S“ - druhé
- Číslo - počet intervalů, které chcete přidat k původnímu datu/času.
- Datum - původní datum/čas.
Poznámka: Při použití dat v kódu je musíte obklopit # nebo uvozovkami.
Následující kód ukazuje, jak používat funkci DateAdd:
123456789 | Dílčí používáníTheDateAddFunction ()Dim laterDate As DatelaterDate = DateAdd ("m", 10, "11/12/2019")Debug.Print laterDateEnd Sub |
Výsledek je:
Funkce VBA DateDiff
Pomocí funkce DateDiff můžete získat rozdíl mezi dvěma daty na základě zadaného časového intervalu.
Syntaxe funkce DateDiff je:
DateDiff (Interval, Date1, Date2, [Firstdayofweek], [Firstweekofyear]) kde:
- Interval - Řetězec, který určuje typ intervalu, který se má použít. Interval může být jedna z následujících hodnot:
„D“ - den
„Ww“ - týden
„W“ - všední den
„M“ - měsíc
„Q“ - čtvrtletí
„Rrrr“ - rok
„Y“ - den v roce
„H“ - hodina
„N“ - minuta
„S“ - druhé
- Date1 - hodnota data představující dřívější datum.
- Date2 - hodnota data představující pozdější datum.
- První den týdne (Volitelný) - Konstanta, která určuje den v týdnu, který by měla funkce použít jako první den v týdnu. Pokud je jako první den v týdnu prázdná neděle. Firstdayofweek může být jedna z následujících hodnot:
-vb Neděle - používá neděli jako první den v týdnu.
-vbMonday - používá pondělí jako první den v týdnu.
-vbTuesday - používá úterý jako první den v týdnu.
-vb Středa - používá jako první den v týdnu středu.
-vbČtvrtek - používá čtvrtek jako první den v týdnu.
-vbPátek - používá pátek jako první den v týdnu.
-vbSaturday - používá jako první den v týdnu sobotu.
-vbUseSystemDayOfTheWeek - používá první den v týdnu, který je určen nastavením vašeho systému.
- První týden týdne (Volitelný) - Konstanta, která určuje první týden v roce. Pokud je prázdné, použije se jako první týden v roce 1. týden. Firstweekofyear může být jednou z následujících hodnot:
-vbFirstJan1 - používá týden obsahující 1. leden.
-vbFirstFourDays - používá první týden, který obsahuje alespoň čtyři dny v novém roce.
-vbFirstFullWeek - používá první celý týden v roce.
-vbSystem - používá první týden v roce podle nastavení systému.
Následující kód ukazuje, jak používat funkci DateDiff:
123456789 | Dílčí používáníTheDateDiffFunction ()Dim the DifferenceBetweenTwoDates as LongtheDifferenceBetweenTwoDates = DateDiff ("q", "11/11/2010", "10/12/2012")Debug.Print theDifferenceBetweenTwoDatesEnd Sub |
Výsledek je:
Funkce VBA DatePart
Funkci DatePart můžete použít k vrácení části (dne, týdne, čtvrtletí, měsíce atd.) Daného data.
Syntaxe funkce DatePart je:
DatePart (Interval, Datum, [Firstdayofweek], [Firstweekofyear]) kde:
- Interval - Řetězec, který určuje část data, které se má vrátit. Interval může být jedna z následujících hodnot:
„D“ - den
„Ww“ - týden
„W“ - všední den
„M“ - měsíc
„Q“ - čtvrtletí
„Rrrr“ - rok
„Y“ - den v roce
„H“ - hodina
„N“ - minuta
„S“ - druhé
- Datum - Datum, od kterého má funkce vrátit část.
- První den týdne (Volitelný) - Konstanta, která určuje den v týdnu, který by měla funkce použít jako první den v týdnu. Pokud je jako první den v týdnu prázdná neděle. Firstdayofweek může být jedna z následujících hodnot:
-vb Neděle - používá neděli jako první den v týdnu.
-vbMonday - používá pondělí jako první den v týdnu.
-vbTuesday - používá úterý jako první den v týdnu.
-vb Středa - používá jako první den v týdnu středu.
-vbČtvrtek - používá čtvrtek jako první den v týdnu.
-vbPátek - používá pátek jako první den v týdnu.
-vbSobota - používá jako první den v týdnu sobotu.
-vbUseSystemDayOfTheWeek - používá první den v týdnu, který je určen nastavením vašeho systému.
- První týden týdne (Volitelný) - Konstanta, která určuje první týden v roce. Pokud je prázdné, použije se jako první týden v roce 1. týden. Firstweekofyear může být jednou z následujících hodnot:
-vbFirstJan1 - používá týden obsahující 1. leden.
-vbFirstFourDays - používá první týden, který obsahuje alespoň čtyři dny v novém roce.
-vbFirstFullWeek - používá první celý týden v roce.
-vbSystem - používá první týden v roce podle nastavení systému.
Následující kód ukazuje, jak používat funkci DatePart:
123456789 | Dílčí používáníTheDatePartFunction ()Dim thePartOfTheDate As IntegerthePartOfTheDate = DatePart ("rrrr", "12/12/2009")Debug.Print thePartOfTheDateEnd Sub |
Výsledek je:
Funkce VBA DateSerial
Funkce VBA DateSerial trvá vstupní rok, měsíc a den a vrací datum.
Syntaxe funkce DateSerial je:
DateSerial (rok, měsíc, den), kde:
- Rok - celočíselná hodnota mezi 100 a 9999, která představuje rok.
- Měsíc - celočíselná hodnota, která představuje měsíc.
- Den - celočíselná hodnota, která představuje den.
Následující kód ukazuje, jak používat funkci DateSerial:
123456789 | Dílčí používáníTheDateSerialFunction ()Dim the Date as DatetheDate = DateSerial (2010, 11, 10)Ladění. Vytiskněte datumEnd Sub |
Výsledek je:
Funkce VBA DateValue
Funkce DateValue vrací Date při zadaném řetězcovém vyjádření data.
Syntaxe funkce DateValue je:
DateValue (Datum) kde:
- Datum - Řetězec představující datum.
Následující kód ukazuje, jak používat funkci DateValue:
123456789 | Dílčí použitíTheDateValueFunction ()Dim the Date as DatetheDate = DateValue ("29. října 2010")Ladění. Vytiskněte datumEnd Sub |
Výsledek je:
Funkce VBA Day
Pomocí funkce Day můžete vrátit den zadaného data.
Syntaxe funkce Day je:
Den (datum_hodnota), kde:
- Date_value - Datum, ze kterého chcete extrahovat den.
Následující kód ukazuje, jak používat denní funkci:
123456789 | Sub UsingTheDayFunction ()Dim the Day As IntegertheDay = Day ("10/12/2010")Ladění. Vytiskněte denEnd Sub |
Výsledek je:
Hodinová funkce VBA
Pomocí hodinové funkce můžete vrátit hodinu zadaného času.
Syntaxe hodinové funkce je:
Hodina (čas), kde:
- Čas - čas, ze kterého chcete extrahovat hodinu.
Následující kód ukazuje, jak používat hodinovou funkci:
123456789 | Dílčí používáníTheHourFunction ()Dim the Hodina jako celé číslotheHour = Hour ("2:14:17 AM")Ladění. Vytiskněte hodinuEnd Sub |
Výsledek je:
Funkce VBA Minute
Pomocí funkce Minute můžete vrátit minutovou hodnotu zadaného času.
Syntaxe funkce Minute je:
Minuta (čas), kde:
- Čas - čas, ze kterého chcete extrahovat minutovou hodnotu.
Následující kód ukazuje, jak používat funkci Minute:
123456789 | Dílčí používáníTheMinuteFunction ()Dim theMinuteValue as IntegertheMinuteValue = Minuta ("2:14:17 AM")Debug.Print theMinuteValueEnd Sub |
Výsledek je:
Druhá funkce VBA
Druhou funkcí můžete vrátit druhou hodnotu zadaného času.
Syntaxe druhé funkce je:
Podruhé (čas), kde:
- Čas - čas, ze kterého chcete extrahovat druhou hodnotu.
Následující kód ukazuje, jak používat druhou funkci:
123456789 | Dílčí používáníTheSecondFunction ()Dim theSecondValue As IntegertheSecondValue = Second ("2:14:17 AM")Debug.Print theSecondValueEnd Sub |
Výsledek je:
Měsíční funkce VBA
Pomocí funkce Měsíc můžete vrátit měsíc zadaného data.
Syntaxe funkce měsíce je:
Měsíc (Date_value) kde:
- Date_value - Datum, ze kterého chcete extrahovat měsíc.
Následující kód ukazuje, jak používat funkci měsíce:
12345678 | Dílčí používáníTheMonthFunction ()Dim the Month As IntegertheMonth = Month ("11/18/2010")Ladění. Vytiskněte měsícEnd Sub |
Výsledek je:
Funkce VBA MonthName
Pomocí funkce MonthName můžete vrátit název měsíce ze zadaného zadaného čísla měsíce.
Syntaxe funkce MonthName je:
MonthName (Number_of_month, [Abbreviate]) kde:
- Number_of_month - celočíselná hodnota mezi 1 a 12.
- Zkratka (Volitelný) - Určuje, zda má být název měsíce zkrácen. Pokud je prázdné, použije se výchozí hodnota False.
12345678 | Sub UsingTheMonthNameFunction ()Dim theMonthName As StringtheMonthName = MonthName (12, True)Debug. Vytiskněte název měsíceEnd Sub |
Výsledek je:
Funkce VBA TimeSerial
Funkce TimeSerial trvá hodinu, minutu a sekundu a vrátí čas.
Syntaxe funkce TimeSerial je:
TimeSerial (hodina, minuta, sekunda), kde:
- Hodina - celočíselná hodnota mezi 0 a 23, která představuje hodnotu hodiny.
- Minuta - celočíselná hodnota mezi 0 a 59, která představuje minutovou hodnotu.
- Sekunda - celočíselná hodnota mezi 0 a 59, která představuje druhou hodnotu.
Následující kód ukazuje, jak používat funkci TimeSerial:
12345678 | Dílčí používáníTheTimeSerialFunction ()Dim the Time as DatetheTime = TimeSerial (1, 10, 15)Ladění. Vytiskněte časEnd Sub |
Výsledek je:
Funkce VBA TimeValue
Funkce TimeValue vrací Time z řetězcové reprezentace data nebo času.
Syntaxe funkce TimeValue je:
TimeValue (Time) kde:
- Čas - Řetězec představující čas.
Následující kód ukazuje, jak používat funkci TimeValue:
12345678 | Dílčí použitíTheTimeValueFunction ()Dim the Time as DatetheTime = TimeValue ("22:10:17")Ladění. Vytiskněte časEnd Sub |
Výsledek je:
Funkce VBA Weekday
Pomocí funkce Weekday můžete vrátit celé číslo od 1 do 7 představující den v týdnu od zadaného data.
Syntaxe funkce Weekday je:
Den v týdnu (datum, [první den týdne]), kde:
- Datum - Datum, ze kterého chcete extrahovat hodnotu dne v týdnu.
- První den týdne (Volitelný) - Konstanta, která určuje den v týdnu, který by měla funkce použít jako první den v týdnu. Pokud je jako první den v týdnu prázdná neděle. Firstdayofweek může být jedna z následujících hodnot:
-vb Neděle - používá neděli jako první den v týdnu.
-vbMonday - používá pondělí jako první den v týdnu.
-vbTuesday - používá úterý jako první den v týdnu.
-vb Středa - používá jako první den v týdnu středu.
-vbČtvrtek - používá čtvrtek jako první den v týdnu.
-vbPátek - používá pátek jako první den v týdnu.
-vbSobota - používá jako první den v týdnu sobotu.
-vbUseSystemDayOfTheWeek - používá první den v týdnu, který je určen nastavením vašeho systému.
Následující kód ukazuje, jak používat funkci Weekday:
1234567 | Dílčí používáníTheWeekdayFunction ()Dim theWeekDay As IntegertheWeekDay = den v týdnu ("20.11.2019")Debug.Print theWeekDayEnd Sub |
Výsledek je:
Funkce VBA WeekdayName
Pomocí funkce WeekdayName můžete vrátit název dne v týdnu ze zadaného čísla dne v týdnu.
Syntaxe funkce WeekdayName je:
WeekdayName (Weekday, [Abbreviate], [Firstdayoftheweek]) where:
- Weekday - celočíselná hodnota mezi 1 a 7.
- Zkratka (Volitelný) -Určuje, zda má být zkrácen název dne v týdnu. Pokud je prázdné, použije se výchozí hodnota False.
- První den týdne (Volitelný) - Konstanta, která určuje den v týdnu, který by měla funkce použít jako první den v týdnu. Pokud je jako první den v týdnu prázdná neděle. Firstdayofweek může být jedna z následujících hodnot:
-vb Neděle - používá neděli jako první den v týdnu.
-vbMonday - používá pondělí jako první den v týdnu.
-vbTuesday - používá úterý jako první den v týdnu.
-vb Středa - používá jako první den v týdnu středu.
-vbČtvrtek - používá čtvrtek jako první den v týdnu.
-vbPátek - používá pátek jako první den v týdnu.
-vbSaturday - používá jako první den v týdnu sobotu.
-vbUseSystemDayOfTheWeek - používá první den v týdnu, který je určen nastavením vašeho systému.
12345678 | Sub UsingTheWeekdayNameFunction ()Dim theWeekdayName As StringtheWeekdayName = WeekdayName (4)Ladění. Vytiskněte název týdneEnd Sub |
Výsledek je:
Funkce VBA Year
Pomocí funkce Rok můžete vrátit rok zadaného data.
Syntaxe funkce roku je:
Rok (Date_value) kde:
- Date_value - Datum, ze kterého chcete extrahovat rok.
Následující kód ukazuje, jak používat funkci Year:
12345678 | Dílčí používáníTheYearFunction ()Dim the Year as Integerrok = rok („11/12/2010“)Ladění. Vytiskněte rokEnd Sub |
Výsledek je:
Porovnání dat ve VBA
Data můžete porovnávat pomocí operátorů>, <a = ve VBA. Následující kód ukazuje, jak porovnat dvě data ve VBA.
12345678910111213141516171819 | Dílčí srovnávací data ()Dim dateOne As DateDim dateDwo As DatedateOne = "10/10/2010"dateTwo = "11/11/2010"If dateOne> dateTwo ThenDebug.Print „dateOne is the later date“ElseIf dateOne = dateTwo ThenDebug.Print "Dvě data jsou stejná"JinýDebug.Print „dateTwo is the later date“Konec IfEnd Sub |
V tomto kurzu se dozvíte více o tom, jak formátovat data jako řetězce.