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 Template

ตัวอย่าง # 1

ก่อนที่จะแสดงตัวอย่างของ CDATE ให้ดูโค้ดด้านล่างก่อน

รหัส:

 ย่อย 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 ธันวาคม 2019”

ดูมูลค่าที่เราจัดหาให้อย่างใกล้ชิดเราได้จัดหา“ 25-12” ที่เราไม่ได้จัดหาปี

ในขณะที่เขียนบทความนี้ปีปัจจุบันในระบบของฉันคือปี 2019 ดังนั้น VBA CDATE จึงแปลงค่าสตริง“ 25-12” เป็นวันที่และเพิ่มปีของระบบ 2019 เข้าไป ดังนั้นผลลัพธ์สุดท้ายจะเป็นเช่นนี้ 12/25/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”

มันแสดงผลลัพธ์เป็น“ 28/02/2020” หากคุณไม่คุ้นเคยกับวันที่ใน excel คุณต้องสงสัยว่ามันเกิดขึ้นได้อย่างไร

ตัวอย่างเช่นป้อนหมายเลขเดียวกัน (43889) ในเซลล์ใดเซลล์หนึ่งในสเปรดชีต

สำหรับสิ่งนี้ให้ใช้รูปแบบเป็น“ DD-MM-YYYY”

ตอนนี้คลิกที่ตกลงและดูผลลัพธ์

ตอนนี้ผลลัพธ์เปลี่ยนจากหมายเลขซีเรียลเป็นวันที่ เนื่องจากเราใช้รูปแบบวันที่บนหมายเลขซีเรียลจึงแสดงวันที่ตามลำดับ

นั่นหมายความว่าหมายเลขประจำเครื่อง 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.