VBA ინახავს თარიღს, როგორც დღეების რაოდენობას 1899 წლის 30 დეკემბრიდან.
სურათის კრედიტი: სერგი გნატიუკი/iStock/Getty Images
Microsoft Visual Basic აპლიკაციებში თარიღების შედარება არ განსხვავდება ნებისმიერი სხვა ტიპის მონაცემთა შედარებისგან. თქვენ მიერ შედარებული მნიშვნელობები უნდა იყოს ტიპის "თარიღი". შეგიძლიათ გამოიყენოთ სტანდარტული შედარების ოპერატორები: "" ნიშნავს "მეტი", ვიდრე"; ">=" for "მეტი ან ტოლი"; "=" for "ტოლია"; და "<>" "არა ტოლი." თქვენ ასევე შეგიძლიათ გამოიყენოთ ორი შედარების ოპერატორი, "Is" და "IsNot".
VBA თარიღის ტიპი
თარიღების შედარებისას სასარგებლოა გახსოვდეთ, თუ როგორ ინახავს VBA თარიღის მნიშვნელობებს მეხსიერებაში. თარიღი ინახება როგორც ორმაგი სიზუსტის მცურავი წერტილის ნომერი, ან ორმაგი. გრძელი მთელი ნაწილი არის დღეების რაოდენობა, დადებითი ან უარყოფითი, 1899 წლის 30 დეკემბრიდან. ათობითი ნაწილი არის დროის ის რაოდენობა, რომელიც გავიდა შუაღამის შემდეგ. თარიღს დროის გარეშე აქვს მისი ათობითი ნაწილი ნულზე. მაგალითად, 1967 წლის 1 მაისი ინახება როგორც 24593.0. ეს ნიშნავს, რომ როდესაც VBA ადარებს ორ თარიღს, ის რეალურად ადარებს ორ რიცხვს, რომლებიც წარმოადგენს დღეებს.
დღის ვიდეო
პერსონაჟის სიმებიანი Vs. თარიღი
როდესაც ადარებთ თარიღებს VBA-ში, უნდა დარწმუნდეთ, რომ თქვენს მიერ შედარებული მნიშვნელობები აქვს "თარიღი" ტიპის და არ არის სიმბოლოების სტრიქონები. მაგალითად, სიმბოლოების სტრიქონი "05/01/1999" ნაკლებია სიმბოლოების სტრიქონზე "12/31/1900", რადგან "05" მოდის "12"-მდე. გადაიყვანეთ სიმბოლოების სტრიქონი თარიღის ტიპად "CDate" ფუნქციის გამოყენებით, მაგალითად, "CDate (TextBox. ღირებულება)".
დამხმარე ფუნქციები
CDate()-ს გარდა არის სხვა სასარგებლო ფუნქციები, რომლებიც შეგიძლიათ გამოიყენოთ თარიღების შედარებისას. "Date()" ფუნქცია უზრუნველყოფს დღევანდელ თარიღს, როგორც თარიღის მნიშვნელობა. "Now()" ფუნქცია უზრუნველყოფს დღევანდელ თარიღს და დროს, როგორც თარიღის მნიშვნელობა. იმის გამო, რომ თარიღის მონაცემთა ტიპი ასევე შეიცავს დროის კომპონენტს, შეგიძლიათ ამოიღოთ ცვლადის მხოლოდ თარიღის ნაწილი თარიღების შედარებისას "DateValue()" ფუნქციის გამოყენებით, მაგალითად, "If Submission > DateValue (Deadline) მაშინ ..."
თარიღის არითმეტიკა
იმის გამო, რომ თარიღი ინახება როგორც დღეების რაოდენობა 1899 წლის 30 დეკემბრიდან, თქვენ შეგიძლიათ ჩართოთ თარიღის არითმეტიკა VBA-ში თარიღების შედარებისას. მაგალითად, თუ ბილეთს ვადა ეწურება შეძენიდან სამი დღის შემდეგ, შეგიძლიათ შეამოწმოთ ვადაგასული ბილეთი შემდეგი VBA კოდით:
საჯარო ფუნქცია ამოიწურა (შესყიდვა როგორც თარიღი) როგორც ლოგიკური ვადა = მცდარი თუ შესყიდვა+3 > თარიღი() შემდეგ ამოიწურა = ჭეშმარიტი დასასრული თუ დასრულება ფუნქცია