תופעות
בעת ביצוע שינוי תיכנותי בערך בתא בגליון עבודה של Microsoft Excel, הערך של מילי שניות שאתה מציין מעוגל לשניה הקרובה ביותר. בעיה זו מתרחשת כאשר התנאים הבאים מתקיימים:
-
השינוי שעליך לקבוע מקצה את תבנית התאריך של VBA או את תבנית התאריך המשתנה להתא.
-
באפשרותך לשנות את התוכנית באמצעות מאקרו של Visual Basic for Applications או באמצעות לקוח אוטומציה חיצוני.
בעיה זו אינה מתרחשת כאשר השינוי שאתה מבצע מקצה את תבנית התאריך או את תבנית השעה לתא.
סיבה
בעיה זו מתרחשת מאחר ש-Excel מעצב באופן פנימי מחרוזות תאריך בהתאם לתבנית התאריך והשעה שצוינה בכרטיסיה אפשרויות אזוריות של הפריט ' אפשרויות אזור ושפה ' בלוח הבקרה. ערך זה מעוגל לשניה הקרובה ביותר. Excel מקצה ערך זה לתא ולאחר מכן מחשב מחדש את הערך להפקת ערך תאריך חדש עבור התא.
פתרון
השתמש באחת מהשיטות הבאות כדי לעקוף בעיה זו.
שיטה 1
באפשרותך להמיר את ערך התאריך לתבנית מחרוזת המכילה שבריר של שניה. ניתן להקצות ולחשב ערך מחרוזת זה כתבנית תאריך השומרת את אלפיות השניה.
שיטה 2
באפשרותך להשתמש במאפיין Value2 של האובייקט Range כדי לשמור את אלפיות השניה. לדוגמה, באפשרותך להשתמש בקוד ה-VBA הבא.
Sub CopyValueUsingVBDate() Dim d As Date d = ActiveSheet.Range("A1").Value ActiveSheet.Range("B1").Value2 = dEnd Sub
לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציג את המאמר ב-Microsoft Knowledge Base:
182812 תיאור של המאפיין Value2 עבור אובייקט הטווח