VBA CDATE | Excel VBA'da CDATE Nasıl Kullanılır? (Örneklerle)

VBA'da CDATE İşlevi

VBA CDATE, metin veya dize olan bir veri türünü bir tarih veri türüne dönüştüren bir veri türü dönüştürme işlevidir. Değer, tarih veri türüne dönüştürüldükten sonra, tarihlerle oynayabiliriz.

CDATE sözdizimi

Aşağıda, VBA'daki CDATE işlevinin sözdizimi verilmiştir.

İfade: İfade, bir dize veya metin değeri veya tarih veri türüne dönüştürülecek bir değer içeren bir değişken olabilir.

CDATE, üzerinde çalıştığımız bilgisayardaki tarih ve saat biçimini tanımlar ve sağlanan değeri aynı tarih veri türüne dönüştürür. Yalnızca gün ve ay sağlarsanız ve yılı yok sayarsanız, CDATE işlevi, sistem yılını ve verilen gün ve ayı gösterir.

Aşağıdaki bölümde daha fazla örnek göreceğiz.

Excel VBA'da CDATE Fonksiyonu Nasıl Kullanılır?

Excel vba'da CDATE İşlevi örnekleri.

Bu VBA CDATE Excel Şablonunu buradan indirebilirsiniz - VBA CDATE Excel Şablonu

Örnek 1

Size CDATE örneğini göstermeden önce aşağıdaki koda bakın.

Kod:

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

Yukarıda "k" değişkeni için değeri "25-12" olarak atadım. Bu kodu çalıştırdığımda VBA'daki mesaj kutusunda aynı değeri göreceğiz.

Ancak bu, VBA CDATE işlevi kullanılarak tarihe dönüştürülebilir. Bunun için bir değişken daha Date olarak tanımlayın.

Kod:

 Dim k1 Tarih Olarak 

Bu değişken "k1" için CDATE fonksiyonunu atayın ve "25-12" dizesini tutan "k" değişkenini sağlayın. Ve mesaj kutusu için "k" yerine "k1" değişken değerini gösterin.

Kod:

k1 = CDate (k)

Şimdi kodu çalıştırın ve sonucu bir mesaj kutusunda görün.

Yani sonuç "12/25/2019".

Sağladığımız değere yakından bakın, yıl tedarik etmediğimiz “25-12” tedarik ettik.

Bu makaleyi yazarken sistemimde cari yıl 2019'du, dolayısıyla VBA CDATE “25-12” string değerini bugüne çevirerek sistem yılını 2019'a ekledi. Yani nihai sonuçlar şu şekilde okunur: 12/25/2019, yani 25 Aralık 2019.

Örnek 2

Şimdi aşağıdaki koda bakın.

Kod:

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

"K" değişkeni için yukarıdaki kodda, "43889" sayısını uyguladım. Hepimiz bunun bir seri numarası olduğunu biliyoruz, ancak başka bir "KResult" değişkeni için bu değeri "CDATE" işlevini kullanarak bugüne kadar dönüştürdük.

Mesaj kutusunda gösterilen "kResult" değişkeninin aynı sonucu.

Kodu çalıştırın ve "CDATE" işlevinin büyüsünü görün.

Sonucu "28.02.2020" olarak gösteriyor, excel'deki tarihlere aşina değilseniz, bunun nasıl olduğunu merak ediyor olmalısınız.

Örneğin, elektronik tablodaki hücrelerden birine aynı sayıyı (43889) girin.

Bunun için formatı "GG-AA-YYYY" olarak uygulayın.

Şimdi Tamam'a tıklayın ve sonucu görün.

Şimdi sonuç bir seri numarasından bugüne değişti. Seri numarasının üstüne tarih formatını uyguladığımız için ilgili tarihi gösterdi.

Yani bu, 43889 seri numarasının 28-02-2020 tarihine eşit olduğu anlamına gelir.

Dolayısıyla, VBA kodumuzda CDATE işlevi, dize değerini bir tarih veri türüne dönüştürerek aynı şeyi yürütmüştür.

Örnek 3

Bu örnek için aşağıdaki koda bakın.

 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.