VBA IsDate | Kā izmantot Excel VBA IsDate funkciju?

Excel VBA IsDate funkcija

IsDate ir VBA funkcija, kas pārbauda, ​​vai norādītā vērtība ir datums. Ja norādītā vērtība vai diapazona atsauces vērtība ir datuma vērtība, tad rezultātu iegūsim kā “TRUE”, ja vērtība nav datuma vērtība, rezultātu mēs iegūsim kā “FALSE”. Tātad rezultāts ir BOOLEAN vērtība, ti, TRUE vai FALSE.

Zemāk ir funkcijas IsDate sintakse.

Izteiksme ir nekas cits kā vērtība, kuru mēs cenšamies pārbaudīt, vai tas ir datums.

Kā izmantot VBA IsDate funkciju?

Šo VBA IsDate Excel veidni varat lejupielādēt šeit - VBA IsDate Excel veidne

Mēs pārbaudīsim, vai vērtība “5.01.19” ir datuma vērtība vai nē.

Šim vispirms sāciet Excel makro procedūru.

Kods:

 Sub IsDate_Example1 () Beigas Sub 

Definējiet mainīgo, lai saglabātu datuma vērtību, un tā kā vērtība būs datuma vērtība, datu tipu piešķiriet tikai kā “Datums”.

Kods:

 Sub IsDate_Example1 () Dim MyDate kā Date End Sub 

Tagad piešķiriet “5.1.19” vērtību mainīgajam “MyDate”.

Kods:

 Sub IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" Beigas Sub 

Atveriet ziņojumu lodziņu VBA tūlīt

Kods:

 Sub IsDate_Example1 () Dim MyDate kā Date MyDate = "5.1.19" MsgBox (End Sub 

Šajā ziņojumu lodziņā mēs pārbaudīsim, vai mainīgā “MyDate” norādītā datuma vērtība ir datums, vai nē, izmantojot funkciju “IsDate”. Vispirms atveriet funkciju “IsDate”.

Kods:

 Sub IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" MsgBox IsDate (End Sub 

Izteiksme ir vērtība, kuru mēs pārbaudām, lai noteiktu, vai tā ir Datums. Tā kā mēs jau esam saglabājuši mainīgā vērtību “MyDate”, norādiet tikai mainīgā nosaukumu.

Kods:

 Sub IsDate_Example1 () Dim MyDate kā Date MyDate = "5.1.19" MsgBox IsDate (MyDate) Beigas Sub 

Labi, tagad palaidiet kodu un skatiet, ko mēs saņemam ziņojumu lodziņā.

Oho !!! Rezultāts ir PATIESA .

Jums ir jābrīnās, kā tā par datumu atpazina vērtību “5.1.19”.

Iemesls, kāpēc tas ir atgriezis rezultātu kā PATIESU, jo, aplūkojot norādīto vērtību “5.1.19”, tā ir datuma “05.01.2019” īsā forma, tāpēc Excel ir pietiekami izcils, lai to atzītu par datumu, tāpēc rezultāts ir patiess.

Tagad šeit nāk grūts, par to pašu vērtību, ko mēs darīsim, mēs mainīsim gada īso formu no 19. uz 2019. gadu.

Kods:

 Sub IsDate_Example1 () Dim MyDate As String MyDate = "5.1.2019." MsgBox IsDate (MyDate) Beigas Sub 

Tagad palaidiet kodu un skatiet rezultātu.

Šoreiz tas ir atgriezis rezultātu kā FALSE, jo datuma “diena un mēnesis” daļa ir īsā formā, bet gada daļa ir pilna “YYYY” formā, tāpēc ISDATE nevar atzīt, ka tai ir datums, tāpēc rezultāts ir FALSE.

Tagad apskatiet zemāk esošo kodu.

Kods:

 Sub IsDate_Example1 () Dim MyDate As String MyDate = "05.01.2019." MsgBox IsDate (MyDate) Beigas Sub 

Esmu pieminējis pilnas dienas un mēneša formātu, izmantojot 0, palaidīsim kodu un redzēsim funkcijas IsDate rezultātu.

Šoreiz arī mēs ieguva rezultātu kā FALSE .

Tagad mainiet kodu šādi.

Kods:

 Sub IsDate_Example1 () Dim MyDate As String MyDate = "01.05.2019." MsgBox IsDate (MyDate) Beigas Sub 

Punkta (.) Kā atdalītāja vietā kā atdalītāju esam ievadījuši slīpsvītru (/). Tagad palaidiet kodu un skatiet rezultātu.

Šoreiz rezultāts tika iegūts kā PATIESA .

Šī iemesla dēļ es raksta sākumā esmu teicis, ka “Datums” ir sensitīva lieta.

Tagad es apvienošu datumu un laiku kopā.

Kods:

 Sub IsDate_Example1 () Dim MyDate As String MyDate = "01.01.2019. 15:26:24" MsgBox IsDate (MyDate) Beigas Sub 

Tas, ko esmu pievienojis iepriekš, ir laika daļa “15:26:24” pirms datuma. Tagad palaidiet kodu un skatiet rezultātu.

Arī šoreiz mēs saņēmām rezultātu kā PATIESI, jo Excel datums un laiks ir tās pašas lietas un tiek glabāti kā sērijas numuri. Viss skaitlis apzīmē datuma daļu, bet decimāldaļas - laika daļu.

Šeit jāatceras lietas

  • IsDate atgriež Būla tipa rezultātu, ti, TRUE vai FALSE.
  • IsDate ir pieejams tikai kā VBA funkcija.
  • Tikai derīgi formatētie datumi tiek uzskatīti par datumu, pretējā gadījumā tas tiks uzskatīts par teksta vērtībām un rezultāts tiks atgriezts kā FALSE.

$config[zx-auto] not found$config[zx-overlay] not found