כידוע,באקסל ישנן פונקציות רבות בנושא תאריך ושעה.
2 מהן מתייחסות לזמן ההווה בעת הזנת התאריך ומתעדכנות תמיד(ריענון/פתיחת הגיליון מחדש)
1.פונקציית TODAY -מציגה את התאריך הנוכחי
2.פונקציית NOW מציגה את התאריך הנוכחי וכן את השעה הנוכחית.(שעות.דקות.שניות)
הפונקציות האלו "אדיבות" וכל שנותר לכתוב לאחר פתיחת הסוגריים הוא שום דבר.רק לסגור את הסוגריים וזהו.
הואיל והפונקצייה מתעדכנת תמיד באופן אוטומט.אם אנו נרצה שבעת מילוי התאריך יוצג התאריך/והשעה הנוכחיים ואח"כ הם ישארו במצב סטטי ולא יתעדכנו באופן אוטומט.?כאן מתחילה הבעיה.
ובכן.הפיתרון הפשוט ביותר הוא לכתוב את התאריך באופן ידני "כטקסט".אבל לא לכך נתכוון שואל השאלה...
ישנו פיתרון עם פקודת מאקרו כזו או אחרת כפי שנכתב כאן לעיל.אבל יש לזכור שדרושה לכך הבנה ומיומנות בכל הקשור לvba.
לאחר חיפוש ארוך ומעמיק.
אציג כאן את הפיתרון שמצאתי ללא פקודת מאקרו.
1.יש להיכנס באקסל להגדרות>אפשרויות>נוסחאות
ולסמן את "הפוך חישוב איטרטיבי לזמין"
שימו לב.זו פעולה הכרחית וקריטית עבור פעולת הפונקצייה.
צפה בקובץ המצורף 1331642
2.להדביק /להקליד את הפונקצייה בתא b1 כפי שמוצג בצילום מסך
צפה בקובץ המצורף 1331643
אם נזין טקסט מסוים בתא a1 התאריך יעודכן מיידית.ואחר כך "יתקע" ללא שינוי.
הופ.הקסם עובד!!!
עכשיו בואו נבין את הלוגיקה בפונקצייה הזו ומה בדיוק מתרחש פה??
ובכן כל מי שביצע פונקציות if מרובות (ולא רק..) יבחין מיד במוזרות שיש כאן.
האקסל בנוי שהתא שמוזנת בו הפונקצייה
לא יהיה כלול בפונקצייה עצמה. שלא תיווצר "תנועה מעגלית" (במילים יותר פשוטות.שהפונקציה לא תיסוב ותסתבך "בזנב של עצמה")
ובשביל לאפשר זאת "באופן חריג" יש לשנות ולאפשר/להתיר לאקסל לבצע חישוב "
איטרטיבי" .וכפי שהקדמתי לומר לעיל.
גם כאן אנו מבקשים בפונקצייה שאם תא a1 איננו ריק ""<>.(אגב .אפשר גם לבקש זאת עם תנאי שcounta =1)
אז הפונקצייה תבדוק if נוסף (כמו כל if "מקונן")
האם תא b1 הוא ריק.ואם כן אז הפונקצייה תכתוב now.
היופי שיוצא כאן למסקנה .הוא בדיוק מה שביקשנו שיהיה.
כי אם תא b1 התמלא בתאריך ושעה נוכחית.שהפונקצייה של if תרצה לעדכן את הnow היא תבחין בתנאי שדוקא אם תא b1 ריק אז לבצע now .וכעת התנאי לא התקיים ולכן היא לא "נוגעת" ופועלת לשינוי בתא.
דוקא הפונקצייה שנראית בתחילה די מוזרה .היא לא פחות מגאונית!!!
הדוגמא כאן עם פונקציית now .אבל הוא הדין לפונקציית today.
הארכתי מעט .כדי לקבל הצצה קטנה ללוגיקה והיופי שמסתתרים מאחורי הקלעים של פונקציות מתוחכמות שכאלה.וזו רק דוגמא קטנה...
תנסו ותראו שהקסם עובד.
בהצלחה!