VBA datos funkcija (12 makrokomandų naudojimo pavyzdžių)

  • Pasidalinti
Hugh West

"Microsoft Visual Basic" programoje datos funkcijos arba bet kokios su data susijusios sąvokos yra būtinos norint atlikti įvairias operacijas su duomenų rinkiniu. Galite susidurti su įvairiomis situacijomis, kuriose teks naudoti šias funkcijas. Šioje pamokoje sužinosite apie VBA funkciją "Data", pateikdami tinkamus pavyzdžius ir tinkamas iliustracijas. Taip pat pateiksime jums keletą datos funkcijų.kuriuos galite įdiegti savo darbalapyje.

Atsisiųsti praktikos sąsiuvinį

VBA Date.xlsm naudojimas

Įvadas į VBA datos funkciją

"Excel" skirsto datas į kategorijas Data ir laikas Tai integruota funkcija. Ją galime naudoti VBA makrokomandose, norėdami atlikti bet kokias su data susijusias operacijas.

Prieš pradėdami naudoti funkciją Data, turite žinoti apie Datos kintamieji VBA .

⏺ Sintaksė

Data()

⏺ Argumentai Paaiškinimai

Argumentų nėra.

⏺ Grįžta

Grąžina dabartinę datą.

⏺ Galima įsigyti

"Excel" "Office 365", "Excel 2019", "Excel 2016", "Excel 2013", "Excel 2011 for Mac", "Excel 2010", "Excel 2007", "Excel 2003", "Excel XP", "Excel 2000

⏺ Pavyzdys

Kaip žinote, argumentų nėra, galite tik įvesti jį taip, kaip nurodyta toliau:

 Sub vba_date() Dim current_date As Date current_date = Data MsgBox current_date End Sub 

Kai dirbame su funkcija Date, VBA koduose nepateikiame jokių skliaustų, kaip šiame pavyzdyje.

Išėjimas :

12 VBA datos funkcijų, kurias turėtumėte išmokti

Ateinančiuose skyriuose parodysime keletą papildomų datos funkcijų, kurias galite naudoti daugeliui VBA tikslų. Perskaitykite šiuos skyrius, kad sužinotumėte visus įmanomus darbo su data VBA būdus. Siūlome juos laikyti savo arsenale. Tai tikrai pagerins jūsų žinias.

1. DateAdd funkcija kaip data VBA

VBA naudojame funkciją DateAdd, kad prie konkrečios datos pridėtume dienas. Po to ji grąžins gautą datą.

Sintaksė:

DateAdd(intervalas, skaičius, data)

Argumentai:

intervalas: Jis yra Reikalinga. eilutės išraiška yra laiko intervalas, kurį norite pridėti.

skaičius: Reikalinga. Tai skaitinė išraiška, kurioje nurodomas intervalų, kuriuos norite pridėti, skaičius. Ji gali būti teigiama (norint gauti datas ateityje) arba neigiama (norint gauti datas praeityje).

data: Pradinė data ir laikas.

Dabar intervalas argumentai gali turėti šiuos nustatymus:

yyyy - Metai

q - Ketvirtis

m - Mėnuo

y - Metų diena

d - Diena

w - Savaitgalis

ww - Savaitė

h - Valanda

n - Minutė

s - Antrasis

Kodo fragmentas :

 Sub dateadd_function() Dim result_Date As Date result_Date = DateAdd("d", 15, "1/31/2022") MsgBox result_Date End Sub 

Išvestis:

Kaip matote, į dabartinę datą VBA programa įtraukė 15 datų.

Skaityti daugiau: Kaip naudoti IsDate funkciją VBA (3 pavyzdžiai)

2. DateDiff funkcija VBA

Funkcija DateDiff grąžina variantą (Long), nustatantį laiko tarpų tarp dviejų nurodytų datų skaičių.

Sintaksė :

DateDiff(interval, date1, date2, [ firstdayofweek, [ firstweekofy year ]] )

Argumentai:

intervalas: Tai yra privaloma. Stygos išraiška - tai laiko tarpas, kurį norite pridėtiStringa išraiška - tai laiko tarpas, kurį naudojate dviejų datų skirtumui apskaičiuoti.

data1,data2 : Privaloma; Variantas (Data). Dvi datos, kurias norite naudoti skaičiuojant.

pirmoji savaitės diena: Neprivaloma. Konstanta, apibrėžianti pirmąją savaitės dieną. Jei ji nenustatyta, laikoma, kad tai sekmadienis.

pirmoji metų savaitė: Neprivaloma. Konstanta, nustatanti pirmąją metų savaitę. Jei nenustatyta, pirmoji savaitė turi būti ta savaitė, kurioje yra sausio 1 d.

Dabar intervalas argumentai gali turėti šiuos nustatymus:

yyyy - Metai

q - Ketvirtis

m - Mėnuo

y - Metų diena

d - Diena

w - Savaitgalis

ww - Savaitė

h - Valanda

n - Minutė

s - Antrasis

Svetainė pirmoji savaitės diena argumentas turi šiuos nustatymus:

vbSunday - naudoja sekmadienį kaip svarbiausią savaitės dieną.

vbPirmadienis - dirba pirmadienį kaip pirmąją savaitės dieną.

vbTuesday - antradienis yra pirmoji savaitės diena.

"vbWednesday" - dirba trečiadienį kaip pirmąją savaitės dieną.

vb ketvirtadienis - ketvirtadienis yra savaitės diena.

"vbFriday" - dirba penktadienį kaip pirmąją savaitės dieną.

vbŠeštadienis - šeštadienis yra pirmoji savaitės diena.

vbUseSystemDayOfTheWeek - naudojama pirmoji savaitės diena, nustatyta pagal jūsų prietaiso nustatymus.

Svetainė pirmoji metų savaitė yra šie nustatymai:

vbFirstJan1 - naudoja savaitę iki sausio 1 d.

vbFirstFourDays - įdarbina pirmąją savaitę, kuri turi bent keturias naujųjų metų dienas.

vbFirstFullWeek - veikia visą pirmąją metų savaitę.

vbSystem - naudojama pirmoji metų savaitė, nustatyta pagal jūsų prietaiso buvimo vietas.

Kodo fragmentas:

 Sub DateDiff_Function() Dim result As Long result = DateDiff("d", "1/31/2022", "2/12/2022") MsgBox result End Sub 

Išėjimas :

Galiausiai jis grąžina dviejų datų skirtumą VBA.

Skaityti daugiau: Kaip "Excel" programoje naudoti VBA funkciją DateDiff (9 pavyzdžiai)

3. DatePart funkcija kaip Date

Funkcija DatePart grąžina variantą (Integer), kuriame yra apibrėžta pateiktos datos dalis.

Sintaksė :

DatePart(intervalas, data, [ savaitės pirmoji diena, [ metų pirmoji savaitė ]]])

Argumentai:

intervalas: Tai yra privaloma. Stygos išraiška - tai laiko tarpas, kurį norite pridėtiStringa išraiška - tai laiko tarpas, kurį naudojate dviejų datų skirtumui apskaičiuoti.

data: Privaloma; Variantas (Data). Data, kurią norite naudoti skaičiuojant.

pirmoji savaitės diena: Neprivaloma. Konstanta, apibrėžianti pirmąją savaitės dieną. Jei ji nenustatyta, laikoma, kad tai sekmadienis.

pirmoji metų savaitė: Neprivaloma. Konstanta, nustatanti pirmąją metų savaitę. Jei nenustatyta, pirmoji savaitė turi būti ta savaitė, kurioje yra sausio 1 d.

Dabar intervalas argumentai gali turėti šiuos nustatymus:

yyyy - Metai

q - Ketvirtis

m - Mėnuo

y - Metų diena

d - Diena

w - Savaitgalis

ww - Savaitė

h - Valanda

n - Minutė

s - Antrasis

Svetainė pirmoji savaitės diena argumentas turi šiuos nustatymus:

vbSunday - naudoja sekmadienį kaip svarbiausią savaitės dieną.

vbPirmadienis - dirba pirmadienį kaip pirmąją savaitės dieną.

vbTuesday - antradienis yra pirmoji savaitės diena.

"vbWednesday" - dirba trečiadienį kaip pirmąją savaitės dieną.

vb ketvirtadienis - ketvirtadienis yra savaitės diena.

"vbFriday" - dirba penktadienį kaip pirmąją savaitės dieną.

vbŠeštadienis - šeštadienis yra pirmoji savaitės diena.

vbUseSystemDayOfTheWeek - naudojama pirmoji savaitės diena, nustatyta pagal jūsų prietaiso nustatymus.

Svetainė pirmoji metų savaitė turi šias reikšmes:

vbFirstJan1 - veikia savaitę, įskaitant sausio 1 d.

vbFirstFourDays - naudoja pirmąją savaitę, kuri turi ne daugiau kaip keturias nedidelio dydžio dienas naujaisiais metais.

vbFirstFullWeek - naudoja pirmąją visą metų savaitę.

vbSystem - įdarbina pirmąją metų savaitę, pasirinktą pagal jūsų prietaiso vietas.

Kodo fragmentas :

 Sub DatePart_Function() Dim result As Integer result = DatePart("m", "10/11/2022") MsgBox result End Sub 

Išėjimas :

Taip šią datos funkciją galite naudoti VBA koduose.

Skaityti daugiau: Kaip naudoti "Excel" VBA funkciją FileDateTime (3 naudojimo būdai)

4. DateSerial funkcija

Galite peržiūrėti datą pagal įvestus metus, mėnesį ir dieną naudodami DateSerial funkcija.

Sintaksė:

DateSerial(metai, mėnuo, diena)

Argumentai:

metai - Reikalaujamas laukas. Skaičius nuo 100 iki 9999 (imtinai) arba skaitmeninė išraiška, simbolizuojanti metus.

mėnuo - Privalomas laukas. Mėnesį apibrėžianti sveikojo skaičiaus reikšmė.

diena - Privalomas laukas. Dieną apibūdinanti sveikojo skaičiaus reikšmė.

Kodo fragmentas:

 Sub date_serial() Dim date_special As Date date_special = DateSerial(2022, 1, 11) MsgBox date_special End Sub 

Išėjimas :

Skaityti daugiau: Kaip naudoti VBA TimeSerial programoje "Excel" (3 pavyzdžiai)

4. VBA DateValue funkcija

Dabar datai apibrėžti naudojame funkciją DateValue.

Sintaksė :

DateValue(data)

Argumentas:

Čia data Argumentas paprastai yra eilutės išraiška, apibūdinanti datą nuo 100 m. sausio 1 d. iki 9999 m. gruodžio 31 d. Nepriklausomai nuo to, data gali būti bet kokia išraiška, kuri gali simbolizuoti datą, laiką arba ir datą, ir laiką tame intervale.

Kodo fragmentas:

 Sub Date_value() Dim result As Date result = DateValue("Sausio 10, 2022") MsgBox result End Sub 

Išėjimas :

Kaip matote, sėkmingai panaudojome datos funkciją VBA koduose.

5. Dienos funkcija VBA

Grąžinamas varianto (Integer) variantas, nustatantis realųjį skaičių nuo 1 iki 31 imtinai, kuriame nurodoma mėnesio diena.

Sintaksė :

Diena (data)

Argumentas:

Reikalaujamas datos argumentas yra bet koks Variant, skaitinė išraiška, eilutės išraiška arba bet koks jų derinys. Jis reiškia datą. Jei data apima Null, taip pat grąžinama Null.

Kodo fragmentas:

 Sub day_function() Dim date1, the_day date1 = #12/12/2023# the_day = Day(date1) MsgBox the_day End Sub 

Išvestis:

Kaip matote, naudodami VBA kodus nustatėme, kad duotos datos diena yra 12.

Susijęs turinys: VBA formato funkcija programoje "Excel" (8 naudojimo būdai ir pavyzdžiai)

6. VBA mėnesio funkcija kaip data

Grąžinamas varijantas (Integer), apibrėžiantis realųjį skaičių nuo 1 iki 12 imtinai, nurodantį metų mėnesį.

Sintaksė :

Mėnuo(data)

Argumentas:

Reikalaujamas datos argumentas yra bet koks Variant, skaitinė išraiška, eilutės išraiška arba bet koks jų derinys. Jis reiškia datą. Jei data apima Null, taip pat grąžinama Null.

Kodo fragmentas:

 Sub month_function() Dim date1, the_month date1 = #12/12/2023# the_month = Month(date1) MsgBox the_month End Sub 

Išvestis:

Susijęs turinys: Kaip naudoti VBA dešinės funkciją "Excel" programoje (6 pavyzdžiai)

Panašūs skaitiniai

  • Kaip naudoti VBA funkciją Environ (4 pavyzdžiai)
  • Kaip naudoti VBA ir funkciją "Excel" programoje (4 pavyzdžiai)
  • VBA If - Then - Else pareiškimas programoje "Excel" (4 pavyzdžiai)
  • Kaip naudoti VBA Abs funkciją "Excel" programoje (9 pavyzdžiai)
  • Kaip naudoti "Excel VBA" programą "Concatenate" (4 metodai)

7. Mėnesio pavadinimo funkcija

Grąžinama eilutė, rodanti nurodytą mėnesį.

Sintaksė :

Mėnesio pavadinimas(month, [ abbreviate ])

Argumentas:

mėnesį: Reikalaujama. Skaitmeninis mėnesio pavadinimas. Pavyzdžiui, sausis yra 1, vasaris - 2 ir t. t.

sutrumpinti: Neprivaloma. Loginė reikšmė, rodanti, ar mėnesio pavadinimas turi būti sutrumpintas. Jei praleista, numatytasis nustatymas yra False, o tai reiškia, kad mėnesio pavadinimas nebus sutrumpintas.

Kodo fragmentas:

 Sub MonthName_Function() Dim month_name As String month_name = MonthName(9, True) MsgBox month_name End Sub 

Išvestis:

Kaip matote, mėnesio pavadinimą radome naudodami šią VBA datos funkciją.

8. Savaitės dienos funkcija

Jis grąžina Variantas ( Sveikasis skaičius ), turintis realųjį skaičių, išreiškiantį savaitės dieną.

Sintaksė :

Savaitės diena(data, [ savaitės pirmoji diena ])

Argumentas:

data: Reikalaujamas datos argumentas yra bet koks Variant, skaitinė išraiška, eilutės išraiška arba bet koks jų derinys. Jis reiškia datą. Jei data apima Null, taip pat grąžinama Null.

pirmoji savaitės diena: Neprivaloma. Konstanta, apibrėžianti pirmąją savaitės dieną. Jei ji nenustatyta, laikoma, kad tai sekmadienis.

Svetainė pirmoji savaitės diena argumentas turi šiuos nustatymus:

vbSunday - naudoja sekmadienį kaip svarbiausią savaitės dieną.

vbPirmadienis - dirba pirmadienį kaip pirmąją savaitės dieną.

vbTuesday - antradienis yra pirmoji savaitės diena.

"vbWednesday" - dirba trečiadienį kaip pirmąją savaitės dieną.

vb ketvirtadienis - ketvirtadienis yra savaitės diena.

"vbFriday" - dirba penktadienį kaip pirmąją savaitės dieną.

vbSaturday - šeštadienis yra pirmoji savaitės diena.

vbUseSystemDayOfTheWeek - naudojama pirmoji savaitės diena, nustatyta pagal jūsų prietaiso nustatymus.

Grąžinimo parametrai

Ši funkcija grąžina sveikąjį skaičių. Taigi, šių sveikųjų skaičių reikšmės yra tokios:

1 - Sekmadienis

2 - Pirmadienis

3 - Antradienis

4 - Trečiadienis

5 - Ketvirtadienis

6 - Penktadienis

7 - Šeštadienis

Kodo fragmentas:

 Sub Savaitės dienos_funkcija() Dim savaitės_diena As Integer savaitės_diena = Savaitės diena("4/27/2022") MsgBox savaitės_diena End Sub 

Išvestis:

Kaip matote, VBA datos funkcija grąžina 4, t. y. trečiadienį.

Susijęs turinys: Kaip naudoti "Excel VBA" funkciją "Fix" (4 pavyzdžiai)

9. VBA funkcija WeekdayName

Grąžina eilutę, kurioje rodoma apibrėžta savaitės diena.

Sintaksė :

Savaitės dienos pavadinimas(savaitės diena, santrumpa, savaitės pirmoji diena)

Argumentas:

darbo dieną: Privalomas laukas. Savaitės dienos skaitmeninis identifikavimas. Kiekvienos dienos skaitmeninė reikšmė priklauso nuo nuostatos firstdayofweek nustatymo.

sutrumpinti: Neprivaloma. Loginė reikšmė, reiškianti, ar savaitės dienos pavadinimas turi būti sutrumpintas. Jei praleista, numatytasis nustatymas yra False, o tai reiškia, kad savaitės dienos pavadinimas nebus trumpinamas ar trumpinamas.

pirmoji savaitės diena: Neprivalomas laukas. Skaitmeninė reikšmė, nurodanti pirmąją savaitės dieną. Ji gali turėti įvairias reikšmes.

Svetainė pirmoji savaitės diena argumentas gali turėti tolesnes reikšmes:

vbSunday - naudoja sekmadienį kaip svarbiausią savaitės dieną.

vbPirmadienis - dirba pirmadienį kaip pirmąją savaitės dieną.

vbTuesday - antradienis yra pirmoji savaitės diena.

"vbWednesday" - dirba trečiadienį kaip pirmąją savaitės dieną.

vb ketvirtadienis - ketvirtadienis yra savaitės diena.

"vbFriday" - dirba penktadienį kaip pirmąją savaitės dieną.

vbŠeštadienis - šeštadienis yra pirmoji savaitės diena.

vbUseSystemDayOfTheWeek - naudojama pirmoji savaitės diena, nustatyta pagal jūsų prietaiso nustatymus.

Kodo fragmentas:

 Sub WeekdayName_Function() Dim weekday_name As String weekday_name = WeekdayName(6) MsgBox weekday_name End Sub 

Išvestis:

Kaip matote, pirmiau nurodytuose VBA koduose rodomas savaitės dienos pavadinimas.

Susijęs turinys: Kaip naudoti VBA savaitės dienos pavadinimo funkciją "Excel" programoje (2 pavyzdžiai)

10. Metų funkcija VBA programoje Data

Grąžinamas varijantas (Integer), turintis realų skaičių, išreiškiantį metus.

Sintaksė :

Metai (data)

Argumentas:

Reikalaujamas datos argumentas yra bet koks Variant, skaitinė išraiška, eilutės išraiška arba bet koks jų derinys. Jis reiškia datą. Jei data apima Null, taip pat grąžinama Null.

Kodo fragmentas:

 Sub year_function() Dim date1, the_year date1 = #12/12/2023# the_year = Year(date1) MsgBox the_year End Sub 

Išvestis:

Įgyvendinus VBA kodą, čia matote duotos datos metus.

Skaityti daugiau: Kaip naudoti VBA pakeitimo funkciją "Excel" programoje (11 programų)

11. FormatDateTime funkcija

Ši funkcija grąžina išraišką, suformatuotą kaip data arba laikas.

Sintaksė :

FormatDateTime(Data, [ NamedFormat ])

Argumentas:

Data: Privalomas laukas. Formuojama datos išraiška.

Pavadinimo formatas: Neprivaloma. Tai skaitinė reikšmė, rodanti datos ir laiko formatą. Jei nepateikiama, naudojamas vbGeneralDate .

Svetainė NamedFormat gali turėti šias reikšmes:

vbGeneralDate(0): Parodykite datą ir (arba) laiką. Jei yra datos dalis, išreikškite ją kaip trumpąją datą. Jei yra laiko dalis, išreikškite ją kaip ilgąjį laiką. Abi dalys rodomos, jei yra.

vbLongDate(1): Pavaizduokite datą naudodami kompiuterio regioniniuose nustatymuose pasirinktą ilgosios datos konfigūraciją.

vbShortDate(2): Rodoma data naudojant kompiuterio regioniniuose nustatymuose nurodytą trumpąjį datos formatą.

vbLongTime(3): Parodykite laiką naudodami laiko formatą, nurodytą kompiuterio regioniniuose nustatymuose.

vbShortTime(4): Laikas rodomas 24 valandų formatu (hh:mm).

Kodo fragmentas:

 Sub FormatDateTime_Function() d = ("2022-02-03 18:25") MsgBox ("Format 1 : " & FormatDateTime(d)) MsgBox ("Format 2 : " & FormatDateTime(d, 1)) MsgBox ("Format 3 : " & FormatDateTime(d, 2)) MsgBox ("Format 4 : " & FormatDateTime(d, 3)) MsgBox ("Format 5 : " & FormatDateTime(d, 4)) End Sub 

Išvestis:

Paleidę kodą pamatysite šiuos dialogo langus:

Čia galite peržiūrėti visus laiko ir datos formatus VBA.

Skaityti daugiau: Kaip naudoti VBA funkciją TimeValue (6 atitinkami pavyzdžiai)

12. VBA CDate funkcija

Funkcija konvertuoja galiojančią datos ir laiko išraišką į tipinę datą.

Sintaksė :

CDate(data)

Argumentas:

Reikalaujamas datos argumentas yra bet koks Variant, skaitinė išraiška, eilutės išraiška arba bet koks jų derinys. Jis reiškia datą. Jei data apima Null, taip pat grąžinama Null.

Kodo fragmentas:

 Sub Cdate_Function() Dim date1 As Variant Dim date2 As Variant date1 = CDate("Mar 11 2022") date2 = CDate("29 Sep 2023") MsgBox ("First date : " & date1 & vbCrLf & "Second date : " & date2) End Sub 

Išvestis:

Kaip matote, mūsų VBA kodas tiesiog grąžino tipišką "Excel" datos formatą.

Susijęs turinys: Kaip naudoti VBA funkciją DIR programoje "Excel" (7 pavyzdžiai)

VBA datos pavyzdžiai

Tolesniuose skyriuose pateiksime jums tris praktinius ir tinkamus pavyzdžius apie datas naudojant VBA. Šiuose pavyzdžiuose bus pateiktos su datomis susijusios problemos ir jų sprendimai. Rekomenduojame perskaityti ir praktiškai išbandyti visus šiuos pavyzdžius, kad patobulintumėte savo VBA žinias. Įsitraukime į juos.

1. Apskaičiuokite pradelstų dienų skaičių naudodami datą VBA

Prielinksnio overdue reikšmė - atsitinka pavėluotai arba pasibaigus terminui. Vėluoti, ypač pasibaigus terminui arba per vėlai įvykdyti reikalavimą.

Tarkime, kad turite pateikti užduotį, kurios atlikimo terminas yra sekmadienis. Tačiau dabar yra antradienis, o jūs jos dar nepateikėte. Tai galima vadinti dviem pradelstomis dienomis.

Pažvelkite į šį duomenų rinkinį:

Čia turime duomenų rinkinį, kuriame yra keletas studentų ir jų užduočių pateikimo data. Galite matyti paskutinę pateikimo datą. Mūsų tikslas - pagal pateikimo datą rasti pradelstą datą. Dabar, norėdami tai atlikti, atlikite šiuos veiksmus:

📌 Žingsniai

  • Pirmiausia paspauskite Alt+F11 klaviatūroje, kad atidarytumėte VBA redaktorių.
  • Tada pasirinkite Insert> Modulis .

  • Po to įveskite šį kodą:
 Sub overdue_days() Dim cell As Integer Dim J As Integer Dim due_date As Date due_date = #1/11/2022# For cell = 5 To 11 If Cells(cell, 4).Value = due_date Then Cells(cell, 5).Value = "Pateikta šiandien" ElseIf Cells(cell, 4).Value> due_date Then J = due_date - Cells(cell, 4).Value J = Abs(J) Cells(cell, 5).Value = J & " Pradelstos dienos" Else Cells(cell, 5).Value = "Nėra pradelstų" End If Next cellPabaiga Sub 

Naudojome ABS funkcija pašalinti minuso ženklą.

  • Tada išsaugokite failą.
  • Po to paspauskite Alt+F8 klaviatūroje, kad atidarytumėte dialogo langą Makro.
  • Tada pasirinkite
  • Tada spustelėkite Paleisti .

Kaip matote, sėkmingai panaudojome VBA datą ir suradome pradelstas dienas.

Panašūs skaitiniai

  • Kaip "Excel" programoje naudoti VBA funkciją "Space" (3 pavyzdžiai)
  • VBA funkcijos "ChDir" naudojimas programoje "Excel" (4 tinkami pavyzdžiai)
  • Kaip naudoti IsNull funkciją "Excel VBA" (5 pavyzdžiai)
  • VBA While Wend teiginio naudojimas "Excel" programoje (4 pavyzdžiai)
  • Kaip iškviesti VBA subprogramą "Excel" programoje (4 pavyzdžiai)

2. Raskite gimimo metus pagal datą naudodami VBA

Dabar galite rasti Metus nuo tam tikros datos. Tai gana paprasta rasti.

Pažvelkite į šį duomenų rinkinį:

Čia matote kai kurių asmenų gimimo datą. Mūsų tikslas - iš šios datos išgauti gimimo metus, taip pat paskutinio įrašo Elizabeth gimimo metus.

📌 Žingsniai

  • Pirmiausia paspauskite Alt+F11 klaviatūroje, kad atidarytumėte VBA redaktorių.
  • Tada pasirinkite Insert>Modulis .

  • Po to įveskite šį kodą:
 Sub find_year() Dim last_entry As Date Dim cell As Integer For cell = 5 To 11 Cells(cell, 4).Value = Year(Cells(cell, 3).Value) If cell = 11 Then last_entry = Cells(cell, 3).Value End If Next cell MsgBox "Paskutinio įrašo gimimo metai: " & Year(last_entry) End Sub 
  • Tada išsaugokite failą.
  • Po to paspauskite Alt+F8 klaviatūroje, kad atidarytumėte dialogo langą Makro.
  • Tada pasirinkite find_year .
  • Tada spustelėkite Paleisti .

Galiausiai matote, kad mums pavyko iš kiekvienos datos išgauti gimimo metus. Taip pat radome paskutinio įrašo gimimo metus naudodami "Excel" VBA datą.

3. Dienų įtraukimas į datą naudojant VBA

Dabar galite apibrėžti datos kintamąjį ir naudoti jį datai pridėti. Norėdami tai atlikti, naudojame DateAdd Šią funkciją galite naudoti norėdami prie konkrečios datos pridėti dienas, mėnesius ir metus.

Pažvelkite į šį duomenų rinkinį:

Čia matote keletą vardų ir prie jų pridėtas datas. Dabar mūsų tikslas - prie šių datų pridėti dar penkias dienas ir sukurti naują datą.

📌 Žingsniai

  • Pirmiausia paspauskite Alt+F11 klaviatūroje, kad atidarytumėte VBA redaktorių.
  • Tada pasirinkite Insert>Modulis .

  • Po to įveskite šį kodą:
 Sub add_days() Dim first_date As Date Dim second_date As Date Dim cell As Integer For cell = 5 To 11 first_date = Cells(cell, 3).Value second_date = DateAdd("d", 5, first_date) Cells(cell, 4).Value = second_date Next cell End Sub 

Čia kaip argumentą DateAdd funkcijoje naudojome "d". Norėdami pridėti metus arba mėnesius, galite jį pakeisti į "y" arba "m",

  • Tada išsaugokite failą.
  • Po to paspauskite Alt+F8 klaviatūroje, kad atidarytumėte dialogo langą Makro.
  • Tada pasirinkite.
  • Tada spustelėkite Paleisti .

Kaip matote, sėkmingai pridėjome dienas prie datos naudodami VBA datą. Dabar galite keisti kodą pagal savo pasirinkimą.

💬 Dalykai, kuriuos verta prisiminti

VBA Date funkcija iš tikrųjų veikia taip funkcija TODAY "Excel" programoje.

VBA DATA yra nepastovi "Excel" funkcija. Tai reiškia, kad ji išsaugos duomenis net ir nutrūkus maitinimui.

Iš esmės VBA išsaugo Datos reikšmes kaip DATA įgyvendinimo metu.

Taigi, jei datos kintamajam bandysite priskirti eilutę arba tekstą, bus padaryta klaida.

Numatytoji Data reikšmė yra 0:00:00 (vidurnaktis) 0001 m. sausio 1 d.

Išvada

Baigdamas tikiuosi, kad ši mokomoji knyga suteikė jums naudingų žinių apie datą VBA koduose. Rekomenduojame išmokti ir taikyti visus šiuos nurodymus savo duomenų rinkiniui. Atsisiųskite pratybų sąsiuvinį ir išbandykite juos patys. Taip pat nedvejodami pateikite atsiliepimus komentarų skiltyje. Jūsų vertingi atsiliepimai skatina mus kurti tokias mokomąsias knygas kaip ši.

Nepamirškite patikrinti mūsų svetainės Exceldemy.com įvairių su "Excel" susijusių problemų ir sprendimų.

Nuolat mokykitės naujų metodų ir tobulėkite!

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.