În acest tutorial, vom trece prin diferitele funcții VBA Date încorporate.
Funcția VBA Data
Puteți utiliza funcția Data pentru a reveni la data curentă.
Sintaxa funcției Date este Date (). Nu are argumente.
Următorul cod vă arată cum să utilizați funcția Data:
12345678 | Sub Utilizarea TheDateFunction ()Reduceți data ca datătheDate = Date ()Depanare. Imprimați dataSfârșitul Sub |
Rezultatul este:
Funcția VBA Now
Puteți utiliza funcția Acum pentru a reveni la data și ora curente.
Sintaxa funcției Now este Now (). Nu are argumente.
Următorul cod vă arată cum să utilizați funcția Now:
12345678 | Sub Utilizarea TheNowFunction ()Reduceți data ca datătheDate = Now ()Depanare. Imprimați dataSfârșitul Sub |
Rezultatul este:
Funcția VBA Time
Puteți utiliza funcția Timp pentru a reveni la ora curentă.
Sintaxa funcției Time este Time (). Nu are argumente.
Următorul cod vă arată cum să utilizați funcția de timp:
12345678 | Sub Utilizarea TheTimeFunction ()Reduceți timpul ca datătheTime = Time ()Depanare. Tipăriți TimpulSfârșitul Sub |
Rezultatul este:
Funcția VBA DateAdd
Puteți utiliza funcția DateAdd pentru a adăuga un interval de dată / oră la o dată sau oră, iar funcția va returna data / ora rezultată.
Sintaxa funcției DateAdd este:
DateAdd (Interval, Number, Date) unde:
- Interval - Un șir care specifică tipul de interval de utilizat. Intervalul poate fi una dintre următoarele valori:
„D” - zi
„Ww” - săptămână
„W” - ziua săptămânii
„M” - lună
„Q” - trimestru
„Aaaa” - an
„Y” - ziua anului
„H” - oră
„N” - minut
„S” - al doilea
- Număr - Numărul de intervale pe care doriți să le adăugați la data / ora inițială.
- Data - Data / ora inițială.
Notă: Când utilizați date în codul dvs., trebuie să le înconjurați cu # sau ghilimele.
Următorul cod arată cum să utilizați funcția DateAdd:
123456789 | Sub Utilizarea TheDateAddFunction ()Dim mai târziu Data ca datălaterDate = DateAdd ("m", 10, "11/12/2019")Debug.Print laterDateSfârșitul Sub |
Rezultatul este:
Funcția VBA DateDiff
Puteți utiliza funcția DateDiff pentru a obține diferența dintre două date, pe baza unui interval de timp specificat.
Sintaxa funcției DateDiff este:
DateDiff (Interval, Data1, Data2, [Firstdayofweek], [Firstweekofyear]) unde:
- Interval - Un șir care specifică tipul de interval de utilizat. Intervalul poate fi una dintre următoarele valori:
„D” - zi
„Ww” - săptămână
„W” - ziua săptămânii
„M” - lună
„Q” - trimestru
„Aaaa” - an
„Y” - ziua anului
„H” - oră
„N” - minut
„S” - al doilea
- Data1 - O valoare de dată care reprezintă data anterioară.
- Data2 - O valoare de dată care reprezintă data ulterioară.
- Firstdayofweek (Opțional) - O constantă care specifică ziua săptămânii pe care funcția ar trebui să o utilizeze ca prima zi a săptămânii. Dacă duminica goală este utilizată ca prima zi a săptămânii. Firstdayofweek poate fi una dintre următoarele valori:
-vbSunday - folosește duminica ca prima zi a săptămânii.
-vbLuni - folosește luni ca prima zi a săptămânii.
-vbTuesday - folosește marți ca prima zi a săptămânii.
-vbMiercuri - se utilizează miercuri ca prima zi a săptămânii.
-vbJoi - folosește joi ca prima zi a săptămânii.
-vbFriday - folosește vineri ca prima zi a săptămânii.
-vbSâmbătă - folosește sâmbăta ca prima zi a săptămânii.
-vbUseSystemDayOfTheWeek - utilizează prima zi a săptămânii specificată de setările sistemului dvs.
- Firstweekofyear (Opțional) - O constantă care specifică prima săptămână a anului. Dacă este necompletat, săptămâna 1 ianuarie este utilizată ca prima săptămână a anului. Firstweekofyear poate fi una dintre următoarele valori:
-vbFirstJan1 - folosește săptămâna care conține 1 ianuarie.
-vbFirstFourDays - utilizează prima săptămână care conține cel puțin patru zile în noul an.
-vbFirstFullWeek - utilizează prima săptămână completă a anului.
-vbSystem - utilizează prima săptămână a anului așa cum este specificat de setările sistemului.
Următorul cod vă arată cum să utilizați funcția DateDiff:
123456789 | Sub UsingTheDateDiffFunction ()Reduceți diferența între două date cât mai multtheDifferenceBetweenTwoDates = DateDiff ("q", "11/11/2010", "10/12/2012")Depanare. Imprimați Diferența între două dateSfârșitul Sub |
Rezultatul este:
Funcția VBA DatePart
Puteți utiliza funcția DatePart pentru a returna o parte (zi, săptămână, trimestru, lună etc.) dintr-o dată dată.
Sintaxa funcției DatePart este:
DatePart (Interval, Data, [Firstdayofweek], [Firstweekofyear]) unde:
- Interval - Un șir care specifică partea de dată de returnat. Intervalul poate fi una dintre următoarele valori:
„D” - zi
„Ww” - săptămână
„W” - ziua săptămânii
„M” - lună
„Q” - trimestru
„Aaaa” - an
„Y” - ziua anului
„H” - oră
„N” - minut
„S” - al doilea
- Data - Data în care doriți ca funcția să returneze o parte.
- Firstdayofweek (Opțional) - O constantă care specifică ziua săptămânii pe care funcția ar trebui să o utilizeze ca prima zi a săptămânii. Dacă duminica goală este utilizată ca prima zi a săptămânii. Firstdayofweek poate fi una dintre următoarele valori:
-vbSunday - folosește duminica ca prima zi a săptămânii.
-vbLuni - folosește luni ca prima zi a săptămânii.
-vbTuesday - folosește marți ca prima zi a săptămânii.
-vbMiercuri - se utilizează miercuri ca prima zi a săptămânii.
-vbJoi - folosește joi ca prima zi a săptămânii.
-vbFriday - folosește vineri ca prima zi a săptămânii.
-vbSâmbătă - folosește sâmbăta ca prima zi a săptămânii.
-vbUseSystemDayOfTheWeek - utilizează prima zi a săptămânii specificată de setările sistemului dvs.
- Firstweekofyear (Opțional) - O constantă care specifică prima săptămână a anului. Dacă este necompletat, săptămâna 1 ianuarie este utilizată ca prima săptămână a anului. Firstweekofyear poate fi una dintre următoarele valori:
-vbFirstJan1 - folosește săptămâna care conține 1 ianuarie.
-vbFirstFourDays - utilizează prima săptămână care conține cel puțin patru zile în noul an.
-vbFirstFullWeek - utilizează prima săptămână completă a anului.
-vbSystem - utilizează prima săptămână a anului așa cum este specificat de setările sistemului.
Următorul cod vă arată cum să utilizați funcția DatePart:
123456789 | Sub UsingTheDatePartFunction ()Reduceți parteaParteDeDată ca întregthePartOfTheDate = DatePart ("aaaa", "12/12/2009")Depanare. Imprimați ParteaDatăDatăSfârșitul Sub |
Rezultatul este:
Funcția VBA DateSerial
Funcția VBA DateSerial durează un an de intrare, lună și zi și returnează o dată.
Sintaxa funcției DateSerial este:
DateSerial (An, Luna, Zi) unde:
- An - O valoare întreagă între 100 și 9999 care reprezintă anul.
- Luna - O valoare întreagă care reprezintă luna.
- Ziua - O valoare întreagă care reprezintă ziua.
Următorul cod vă arată cum să utilizați funcția DateSerial:
123456789 | Sub UsingTheDateSerialFunction ()Reduceți data ca datătheDate = DateSerial (2010, 11, 10)Depanare. Imprimați dataSfârșitul Sub |
Rezultatul este:
Funcția VBA DateValue
Funcția DateValue returnează o dată când i se dă o reprezentare în șir a unei date.
Sintaxa funcției DateValue este:
DateValue (Data) unde:
- Data - Un șir care reprezintă data.
Următorul cod vă arată cum să utilizați funcția DateValue:
123456789 | Sub UsingTheDateValueFunction ()Reduceți data ca datătheDate = DateValue („29 octombrie 2010”)Depanare. Imprimați dataSfârșitul Sub |
Rezultatul este:
Funcția de zi VBA
Puteți utiliza funcția de zi pentru a returna ziua unei date de intrare.
Sintaxa funcției Day este:
Ziua (Valoare_Dată) unde:
- Date_value - Data din care doriți să extrageți ziua.
Următorul cod vă arată cum să utilizați funcția de zi:
123456789 | Sub Utilizarea TheDayFunction ()Reduceți ziua ca întregtheDay = Day („10/12/2010”)Depanare. Tipăriți ziuaSfârșitul Sub |
Rezultatul este:
Funcția oră VBA
Puteți utiliza Funcția oră pentru a reveni la ora unui timp de intrare.
Sintaxa funcției Hour este:
Ora (ora) unde:
- Ora - Ora din care doriți să extrageți ora.
Următorul cod vă arată cum să utilizați funcția oră:
123456789 | Sub Utilizarea TheHourFunction ()Reduceți ora ca întregtheHour = Hour („2:14:17 AM”)Depanare. Tipăriți OraSfârșitul Sub |
Rezultatul este:
Funcția de minut VBA
Puteți utiliza funcția Minute pentru a returna valoarea minute a unui timp de intrare.
Sintaxa funcției Minute este:
Minutul (timpul) unde:
- Ora - Ora din care doriți să extrageți valoarea minutului.
Următorul cod vă arată cum să utilizați funcția Minute:
123456789 | Sub Utilizarea TheMinuteFunction ()Reduceți valoarea minimă ca număr întregtheMinuteValue = Minute („2:14:17 AM”)Depanare. Imprimați valoareaMinuteSfârșitul Sub |
Rezultatul este:
A doua funcție VBA
Puteți utiliza a doua funcție pentru a returna a doua valoare a unui timp de intrare.
Sintaxa celei de-a doua funcții este:
Al doilea (timp) unde:
- Ora - Ora din care doriți să extrageți a doua valoare.
Următorul cod vă arată cum să utilizați a doua funcție:
123456789 | Sub Utilizarea TheSecondFunction ()Reduceți valoarea a doua ca întregtheSecondValue = Second ("2:14:17 AM")Depanare. Tipăriți Valoarea a douaSfârșitul Sub |
Rezultatul este:
Funcția lună VBA
Puteți utiliza funcția Lună pentru a returna luna unei date de intrare.
Sintaxa funcției lunare este:
Luna (Valoare_Dată) unde:
- Date_value - Data din care doriți să extrageți luna.
Următorul cod vă arată cum să utilizați funcția lunară:
12345678 | Sub Utilizarea TheMonthFunction ()Reduceți luna ca întregtheMonth = Month ("18.11.2010")Depanare. Tipăriți lunaSfârșitul Sub |
Rezultatul este:
Funcția VBA MonthName
Puteți utiliza funcția MonthName pentru a returna numele unei luni dintr-un număr de lună introdus.
Sintaxa funcției MonthName este:
MonthName (Number_of_month, [Abreviate]) unde:
- Number_of_month - O valoare întreagă între 1 și 12.
- Abreviați (Opțional) - Specifică dacă numele lunii trebuie abreviat. Dacă este necompletat, se folosește valoarea implicită False.
12345678 | Sub Utilizarea TheMonthNameFunction ()Reduceți numeleMonthName ca șirtheMonthName = MonthName (12, True)Depanare. Imprimați NumeleLumăSfârșitul Sub |
Rezultatul este:
Funcția VBA TimeSerial
Funcția TimeSerial durează o oră, minut și secundă de intrare și returnează o oră.
Sintaxa funcției TimeSerial este:
TimeSerial (oră, minut, secundă) unde:
- Ora - O valoare întreagă între 0 și 23 care reprezintă valoarea orei.
- Minut - O valoare întreagă între 0 și 59 care reprezintă valoarea minutului.
- Al doilea - O valoare între 0 și 59 care reprezintă a doua valoare.
Următorul cod vă arată cum să utilizați funcția TimeSerial:
12345678 | Sub Utilizarea TheTimeSerialFunction ()Reduceți timpul ca datătheTime = TimeSerial (1, 10, 15)Depanare. Tipăriți TimpulSfârșitul Sub |
Rezultatul este:
Funcția VBA TimeValue
Funcția TimeValue returnează un Time dintr-o reprezentare de șir a unei date sau a unei ore.
Sintaxa funcției TimeValue este:
TimeValue (Time) unde:
- Timp - Un șir care reprezintă timpul.
Următorul cod vă arată cum să utilizați funcția TimeValue:
12345678 | Sub Utilizarea TheTimeValueFunction ()Reduceți timpul ca datătheTime = TimeValue ("22:10:17")Depanare. Tipăriți TimpulSfârșitul Sub |
Rezultatul este:
Funcția VBA Weekday
Puteți utiliza funcția Weekday pentru a returna un număr întreg de la 1 la 7 reprezentând o zi a săptămânii de la o dată de intrare.
Sintaxa funcției Weekday este:
Ziua săptămânii (Data, [Prima zi a săptămânii]) unde:
- Data - Data din care doriți să extrageți valoarea din ziua săptămânii.
- Firstdayofweek (Opțional) - O constantă care specifică ziua săptămânii pe care funcția ar trebui să o utilizeze ca prima zi a săptămânii. Dacă duminica goală este utilizată ca prima zi a săptămânii. Firstdayofweek poate fi una dintre următoarele valori:
-vbSunday - utilizează duminica ca prima zi a săptămânii.
-vbLuni - folosește luni ca prima zi a săptămânii.
-vbTuesday - folosește marți ca prima zi a săptămânii.
-vbMiercuri - se utilizează miercuri ca prima zi a săptămânii.
-vbJoi - folosește joi ca prima zi a săptămânii.
-vbFriday - folosește vineri ca prima zi a săptămânii.
-vbSâmbătă - folosește sâmbăta ca prima zi a săptămânii.
-vbUseSystemDayOfTheWeek - utilizează prima zi a săptămânii specificată de setările sistemului dvs.
Următorul cod vă arată cum să utilizați funcția Weekday:
1234567 | Sub Utilizarea TheWeekdayFunction ()Reduceți ziua săptămânii ca întregtheWeekDay = Weekday („20.11.2019”)Depanare. Tipăriți Ziua săptămâniiSfârșitul Sub |
Rezultatul este:
Funcția VBA WeekdayName
Puteți utiliza funcția WeekdayName pentru a returna numele unei zile săptămânale dintr-un număr de intrare furnizat în ziua săptămânii.
Sintaxa funcției WeekdayName este:
WeekdayName (Weekday, [Abreviate], [Firstdayoftheweek]) unde:
- Ziua săptămânii - O valoare întreagă între 1 și 7.
- Abreviați (Opțional) -Specifică dacă numele zilei săptămânii trebuie abreviat. Dacă este necompletat, se folosește valoarea implicită False.
- Firstdayofweek (Opțional) - O constantă care specifică ziua săptămânii pe care funcția ar trebui să o utilizeze ca prima zi a săptămânii. Dacă duminica goală este utilizată ca prima zi a săptămânii. Firstdayofweek poate fi una dintre următoarele valori:
-vbSunday - folosește duminica ca prima zi a săptămânii.
-vbLuni - folosește luni ca prima zi a săptămânii.
-vbTuesday - folosește marți ca prima zi a săptămânii.
-vbMiercuri - se utilizează miercuri ca prima zi a săptămânii.
-vbJoi - folosește joi ca prima zi a săptămânii.
-vbFriday - folosește vineri ca prima zi a săptămânii.
-vbSâmbătă - folosește sâmbăta ca prima zi a săptămânii.
-vbUseSystemDayOfTheWeek - utilizează prima zi a săptămânii specificată de setările sistemului dvs.
12345678 | Sub UsingTheWeekdayNameFunction ()Dim theWeekdayName Ca șirtheWeekdayName = WeekdayName (4)Depanare. Tipăriți numele săptămâniiSfârșitul Sub |
Rezultatul este:
Funcția VBA An
Puteți utiliza funcția An pentru a returna anul unei date de intrare.
Sintaxa funcției An este:
Anul (Data_valor) unde:
- Date_value - Data din care doriți să extrageți anul.
Următorul cod vă arată cum să utilizați funcția An:
12345678 | Sub Utilizarea TheYearFunction ()Diminuează anul ca întregtheYear = Year ("11/12/2010")Depanare. Tipăriți anulSfârșitul Sub |
Rezultatul este:
Compararea datelor în VBA
Puteți compara datele folosind operatorii>, <și = din VBA. Următorul cod vă arată cum să comparați două date în VBA.
12345678910111213141516171819 | Sub ComparingDates ()Dim dateOne as DateDim data Două ca datădateOne = "10/10/2010"dateTwo = "11/11/2010"Dacă dataOne> dateTwo AtunciDebug.Print "dataOne este data ulterioară"ElseIf dateOne = dateTwo ApoiDebug.Print "Cele două date sunt egale"AltfelDebug.Print "dataDouă este data ulterioară"End IfSfârșitul Sub |
Aflați mai multe despre cum să formatați datele ca șiruri, vizualizând acest tutorial.