Visual Basic for Applications:
การคำนวณวันที่ในอนาคตหรืออดีต
วิธีการ:
ใน Visual Basic for Applications (VBA) ฟังก์ชันหลักที่ใช้ในการคำนวณวันที่ในอนาคตหรืออดีตคือ DateAdd()
ฟังก์ชันนี้เพิ่มช่วงเวลาที่ระบุไว้ลงในวันที่ และส่งคืนวันที่ใหม่
นี่คือตัวอย่างพื้นฐานสำหรับเพิ่ม 10 วันเข้ากับวันที่ปัจจุบัน:
Dim futureDate As Date
futureDate = DateAdd("d", 10, Date) ' เพิ่ม 10 วันเข้ากับวันที่ปัจจุบัน
Debug.Print futureDate ' แสดงผลออกมาประมาณ: 04/20/2023
ในทำนองเดียวกัน เพื่อค้นหาวันที่ 10 วันในอดีต:
Dim pastDate As Date
pastDate = DateAdd("d", -10, Date) ' ลบ 10 วันจากวันที่ปัจจุบัน
Debug.Print pastDate ' แสดงผล: 03/31/2023 เมื่อถือว่าวันนี้คือ 04/10/2023
ตัวอย่างเหล่านี้เข้าใจได้อย่างง่ายดาย คุณสามารถแทนที่ "d"
ด้วยรหัสช่วงเวลาอื่น ๆ เช่น "m"
สำหรับเดือน และ "yyyy"
สำหรับปี เพื่อคำนวณการคำนวณวันที่ประเภทอื่นๆ ต่อไปนี้คือวิธีที่คุณอาจคำนวณวันที่หนึ่งปีในอนาคต:
Dim nextYear As Date
nextYear = DateAdd("yyyy", 1, Date) ' เพิ่ม 1 ปีเข้ากับวันที่ปัจจุบัน
Debug.Print nextYear ' แสดงผล: 04/10/2024 ถ้าวันนี้คือ 04/10/2023
ลงลึก
ฟังก์ชัน DateAdd
เป็นส่วนหนึ่งที่สำคัญของ VBA ตั้งแต่เริ่มต้น โดยได้มารับสืบทอดมาจากภาษาโปรแกรมที่มีมาก่อน BASIC ถึงแม้ว่าจะมีความเรียบง่ายสำหรับการเพิ่มหรือลดช่วงเวลาจากวันที่ แต่ก็สำคัญที่จะต้องทราบว่า VBA รวมถึงฟังก์ชันการจัดการวันที่ของมันอาจจะไม่ตรงกับความสะดวกหรือความมีประสิทธิภาพที่พบในภาษาโปรแกรมใหม่ๆ
ตัวอย่างเช่น ภาษาโปรแกรมสมัยใหม่เช่น Python ที่มีโมดูล datetime
หรือ JavaScript ที่มีไลบรารีเช่น moment.js
และ date-fns
ให้วิธีการที่ยังเข้าใจง่ายและมีประสิทธิภาพมากขึ้นสำหรับการจัดการกับวันที่ ตัวเลือกเหล่านี้ให้การสนับสนุนที่ดีกว่าสำหรับการท้องถิ่น เขตเวลา และปีอธิกสุรทิน ซึ่งอาจทำให้เหมาะสมกว่าสำหรับแอพพลิเคชันที่ต้องการการคำนวณวันที่ที่แม่นยำในระดับโลก
อย่างไรก็ตาม สำหรับแมโคร Excel และแอพพลิเคชันที่ต้องการการรวมเข้ากับระบบนิเวศของ Microsoft Office นั้น VBA ยังคงเป็นตัวเลือกที่เหมาะสม ความเรียบง่ายในการเข้าถึงและจัดการข้อมูล Excel โดยตรงเป็นข้อดีที่สำคัญ นอกจากนี้สำหรับการคำนวณวันที่พื้นฐานเช่นการจัดสรรงานและการแจ้งเตือน DateAdd()
ใน VBA ให้ความเพียงพอและเป็นวิธีการที่ง่ายดาย ไวยากรณ์ของมันง่ายต่อการเรียนรู้สำหรับมือใหม่ ในขณะที่การรวมตัวเข้ากับแอพพลิเคชันชุด Office ที่กว้างขึ้นรับประกันถึงความเกี่ยวข้องในกรณีการใช้งานเฉพาะ
สรุปแล้ว ในขณะที่ภาษาโปรแกรมอื่นๆ อาจมีวิธีการที่ทันสมัยกว่าในการคำนวณวันที่ DateAdd()
ใน VBA ยืนยันถึงอำนาจที่ยั่งยืนของภาษาในด้านที่ต้องการมันมากที่สุด