Ši pamoka parodys, kaip sužinoti šiandienos datą VBA.
Yra keletas būdų, kaip šiandien gauti VBA kodą, būtent naudojant VBA Data() funkcija arba VBA Dabar () funkcijas.
Data () funkcija
The Data() funkcija leidžia mums priskirti šiandienos datą kintamajam ir tada rodyti datą tiesioginiame VBE redaktoriaus lange, kad pamatytume šios dienos datą.
123 | Dim dtŠiandien kaip datadtToday = Data ()Derinimas. Spausdinti dtŠiandien |
Arba datą galime rodyti pranešimų laukelyje.
12345 | Antroji bandymo dataDim dtŠiandien kaip datadtToday = Data ()„Msgbox“ „Šiandienos data“ & dtŠiandienPabaiga Sub |
Dabar () Funkcija
The Dabar () Funkcija veikia taip pat kaip datos funkcija, tačiau ji apima laiką.
12345 | Antroji bandymo data ()Dim dtŠiandien kaip datadtToday = Dabar ()„MsgBox“ Šiandienos data yra & dtŠiandienPabaiga Sub |
Datų formatavimas naudojant VBA
Abiejuose Data() ir Dabar () funkcijas, data yra suformatuota pagal numatytąjį stilių, kaip nustatyta mūsų kompiuterio nustatymuose. Šį formatą galime pritaikyti naudodami VBA Formatas funkcija. Kadangi formatavimo funkcija grąžins eilutę, turime deklaruoti a STRING kintamasis, o ne a DATA kintamasis.
12345 | Antroji bandymo data ()Dim dtŠiandien kaip eilutėdtToday = Formatas (data, "dd mmmm yyyy")„MsgBox“ Šiandienos data yra & dtŠiandienPabaiga Sub |
Taip pat galime formatuoti Dabar() funkcija, skirta laiko daliai įtraukti į tinkintą formatą.
12345 | Antrasis formatas Dabar ()Dim dtŠiandien kaip eilutėdtToday = Formatas (dabar (), "dd mmmm yy hh: mm: ss am/pm")„MsgBox dtToday“Pabaiga Sub |
Palyginus 2 datas su VBA
Taip pat galime naudoti datos funkciją, norėdami palyginti šiandienos datą su kita data - galbūt norėtume apskaičiuoti, kiek dienų liko iki įvykio! Tai galime padaryti naudodami VBA DateDiff () funkcija, kuri grąžins skaičių. Todėl galime paskelbti anINTEGERIS kintamasis, kad išsaugotų grąžintą vertę.
123456789 | Antrinis TestDateDiff ()Dim dtŠiandien kaip dataDim dtSomeDay As Date„Dim iDays As Integer“dtToday = DatadtSomeDay = "2021 05 05"iDays = DateDiff ("d", dtToday, dtSomeDay)„MsgBox“ „Tarp dviejų datų yra„ & iDays & “dienųPabaiga Sub |
Kadangi datos saugomos kaip skaičiai, mes taip pat galime atimti antrąją datą nuo pirmosios, kad gautume tą patį atsakymą.
1 | iDays = dtToday - dtSomeDay |