การเปรียบเทียบวันที่ใน VBA

หน้าปฏิทิน

VBA เก็บวันที่เป็นจำนวนวันตั้งแต่วันที่ 30 ธันวาคม พ.ศ. 2442

เครดิตรูปภาพ: Sergii Gnatiuk / iStock / Getty Images

การเปรียบเทียบวันที่ใน Microsoft Visual Basic for Applications นั้นไม่แตกต่างจากการเปรียบเทียบประเภทข้อมูลอื่นๆ ค่าที่คุณเปรียบเทียบต้องเป็นประเภท "วันที่" คุณสามารถใช้ตัวดำเนินการเปรียบเทียบมาตรฐาน: "" สำหรับ "มากกว่า"; ">=" สำหรับ "มากกว่าหรือเท่ากับ"; "=" สำหรับ "เท่ากับ"; และ "<>" สำหรับ "ไม่เท่ากับ" คุณยังสามารถใช้ตัวดำเนินการเปรียบเทียบสองตัวคือ "คือ" และ "ไม่ใช่"

ประเภทวันที่ VBA

คุณควรจำวิธีที่ VBA เก็บค่าวันที่ในหน่วยความจำเมื่อคุณเปรียบเทียบวันที่ วันที่จะถูกเก็บไว้เป็นเลขทศนิยมแบบ double-precision หรือแบบ Double ส่วนจำนวนเต็มแบบยาวคือจำนวนวัน บวกหรือลบ ตั้งแต่วันที่ 30 ธันวาคม พ.ศ. 2442 ส่วนทศนิยมคือระยะเวลาที่ผ่านไปตั้งแต่เที่ยงคืน วันที่ไม่มีเวลามีส่วนทศนิยมตั้งเป็นศูนย์ ตัวอย่างเช่น 1 พฤษภาคม 1967 ถูกเก็บไว้เป็น 24593.0 ซึ่งหมายความว่าเมื่อ VBA เปรียบเทียบวันที่สองวัน จะเป็นการเปรียบเทียบตัวเลขสองตัวที่แสดงถึงวัน

วีดีโอประจำวันนี้

สตริงอักขระเทียบกับ วันที่

เมื่อคุณเปรียบเทียบวันที่ใน VBA คุณต้องแน่ใจว่าค่าที่คุณเปรียบเทียบมีประเภท "วันที่" และไม่ใช่สตริงอักขระ ตัวอย่างเช่น สตริงอักขระ "05/01/1999" น้อยกว่าสตริงอักขระ "12/31/1900" เนื่องจาก "05" มาก่อน "12" แปลงสตริงอักขระเป็นประเภทวันที่โดยใช้ฟังก์ชัน "CDate" เช่น "CDate (กล่องข้อความ. ค่า)".

ฟังก์ชั่นที่เป็นประโยชน์

นอกจาก CDate() แล้ว ยังมีฟังก์ชันที่เป็นประโยชน์อื่นๆ ที่คุณอาจใช้ในการเปรียบเทียบวันที่ ฟังก์ชัน "Date()" ระบุวันที่ของวันนี้เป็นค่าวันที่ ฟังก์ชัน "Now()" ระบุวันที่และเวลาของวันนี้เป็นค่าวันที่ เนื่องจากชนิดข้อมูลวันที่รวมองค์ประกอบเวลาด้วย คุณจึงสามารถแยกเฉพาะส่วนวันที่ของตัวแปรได้ เมื่อเปรียบเทียบวันที่โดยใช้ฟังก์ชัน "DateValue()" เช่น "ถ้าส่ง > DateValue (กำหนดเวลา) แล้ว ..."

เลขคณิตวันที่

เนื่องจากวันที่ถูกเก็บไว้เป็นจำนวนวันตั้งแต่วันที่ 30 ธันวาคม พ.ศ. 2442 คุณจึงสามารถรวมเลขคณิตวันที่เมื่อเปรียบเทียบวันที่ใน VBA ได้ ตัวอย่างเช่น หากตั๋วหมดอายุสามวันหลังจากซื้อ คุณสามารถตรวจสอบตั๋วที่หมดอายุด้วยรหัส VBA ที่คล้ายกับต่อไปนี้:

ฟังก์ชั่นสาธารณะหมดอายุ (ซื้อเป็นวันที่) เนื่องจากบูลีนหมดอายุ = เท็จ หากซื้อ+3 > วันที่ () หมดอายุแล้ว = สิ้นสุดจริงหากสิ้นสุดฟังก์ชัน

หมวดหมู่

ล่าสุด

วิธีดู ESPN บนแล็ปท็อปของฉัน

วิธีดู ESPN บนแล็ปท็อปของฉัน

คุณสามารถใช้แล็ปท็อปเพื่อชมวิดีโอสตรีมสดบน ESP...

วิธีการลบ Wuauclt EXE

วิธีการลบ Wuauclt EXE

กระบวนการ wuauclt.exe เป็นส่วนหนึ่งของกระบวนการ...

ICM บนเครื่องพิมพ์ของคุณคืออะไร?

ICM บนเครื่องพิมพ์ของคุณคืออะไร?

ICM หรือ การจัดการสีของภาพ เป็นระบบที่ใช้ในการก...