VBA CDATE | Как да използвам CDATE в Excel VBA? (с примери)

Функция CDATE във VBA

VBA CDATE е функция за преобразуване на тип данни, която преобразува тип данни, който е или текст или низ, в тип данни за дата. След като стойността се преобразува в тип данни за дата, тогава можем да си поиграем с неща за дата.

Синтаксис на CDATE

По-долу е синтаксисът на функцията CDATE във VBA.

Израз: Изразът може да бъде стойност на низ или текст или променлива, която съдържа стойност, която трябва да бъде преобразувана в типа данни за датата.

CDATE идентифицира формата на датата и часа в компютъра, върху който работим, и преобразува предоставената стойност в същия тип данни за дата. Ако въведете само ден и месец и игнорирате година, тогава функцията CDATE взема системната година, показва заедно с предоставения ден и месец.

Ще виждаме все повече и повече примери в раздела по-долу.

Как да използвам функцията CDATE в Excel VBA?

Примери за CDATE функция в Excel vba.

Можете да изтеглите този шаблон на VBA CDATE Excel тук - VBA CDATE Excel шаблон

Пример # 1

Преди да ви покажа примера за CDATE, първо разгледайте кода по-долу.

Код:

 Sub CDATE_Example1 () Dim k As String k = "25-12" MsgBox k End Sub 

В горното за променливата „k“ присвоих стойността като „25-12“. Когато изпълня този код, ще видим същата стойност в полето за съобщения във VBA.

Но това може да бъде преобразувано до момента с помощта на функцията VBA CDATE. За това определете още една променлива като Дата.

Код:

 Dim k1 Като дата 

За тази променлива “k1” задайте функцията CDATE и предоставете променливата “k”, която съдържа низа “25-12”. И за полето за съобщение покажете стойността на променливата „k1“ вместо „k“.

Код:

k1 = CDate (k)

Сега стартирайте кода и вижте резултата в полето за съобщение.

Така че резултатът е „25.12.2019“.

Погледнете отблизо стойността, която сме предоставили, ние сме предоставили „25-12“, която не сме доставили година.

Докато пишех тази статия, текущата година в моята система беше 2019, така че VBA CDATE преобразува низовата стойност „25-12“ към днешна дата и добави системната 2019 година към нея. Така че крайните резултати се четат така на 25.12.2019, т.е. 25 декември 2019 г.

Пример # 2

Сега вижте кода по-долу.

Код:

 Sub CDATE_Example2 () Dim k As Variant Dim kResult As Date k = 43889 kResult = CDate (k) MsgBox kResult End Sub 

В горния код за променливата „k“ съм приложил числото „43889“. Всички знаем, че това е сериен номер, но за друга променлива “KResult” сме преобразували тази стойност до момента, като използваме функцията “CDATE”.

Същият резултат от променлива “kResult”, показан в полето за съобщение.

Изпълнете кода и вижте магията на функцията “CDATE”.

Той показва резултата като „2/28/2020“, ако не сте запознати с датите в Excel, тогава трябва да се чудите как се е случило това.

Например въведете същия номер (43889) в една от клетките в електронната таблица.

За това прилагайте формата като „ДД-ММ-ГГГГ“.

Сега кликнете върху Ok и ще видите резултата.

Сега резултатът се промени от сериен номер към днешна дата. Тъй като сме приложили формат за дата отгоре на серийния номер, той е показал съответната дата.

Това означава, че серийният номер 43889 е равен на датата 28-02-2020.

Така че в нашия VBA код функцията CDATE изпълнява същото, като преобразува стойността на низа в тип данни за дата.

Пример # 3

За този пример вижте кода по-долу.

 Sub CDATE_Example3() Dim Value1 Dim Value2 Dim Value3 Value1 = "December 24, 2019" Value2 = #6/25/2018# Value3 = "18:30:48 PM" MsgBox CDate(Value1) MsgBox CDate(Value2) MsgBox CDate(Value3) End Sub 

When we run this code we will get the below results.

So, all the values are converted to the date data type with the CDATE function.

Things to Remember

  • CDATE converts only numbers and string values to the date data type.
  • This is useful when we use it with other functions.
  • If the wrong data type value is supplied then we will get type mismatch error.
  • Since date and time are part of serial number it converts time as well as proper time.