pinkys brain1
New member
מקרה מוזר ב-VBA בין 2 מחשבים
שלום לכולם.
נתקלתי היום במקרה מאוד מוזר ולא הצלחתי להבין מה המקור שלו.
יצרתי על המחשב שלי קטע מאקרו,שבאחת השורות שלו יש תנאי IF המכיל OR בין שני תנאים. קטע הקוד הזה עובד 200% במחשב שלי.
לקחתי את הקוד והעתקתי אותו אחד לאחד (אפילו לא בהקלדה, ממש copy-paste) למחשב אחר (אני לא יכול להעלות קובץ לדוגמא כי מדובר על מחשב של הצבא, לכן אני מקווה שבכל זאת תהיה אפשרות לפתור את הבעיה גם בלי דוגמא) וכאשר הרצתי את הקטע - הקוד נתקע על השורה עם התנאי וקיבלתי הודעה של type mismatched..
כאשר פתחתי את חלון "watch window" כדי לראות מה הערכים של המשתנים, אז על המחשב שבו הקוד עבד אני מקבל שהתנאי משמאל ל-OR הוא TRUE והתנאי מימין ל-OR הוא FALSE, ובסה"כ קטע הקוד עובד.
מצד שני - על המחשב השני אני מקבל כי התנאי משמאל ל-OR הוא TRUE , והתנאי מימין ל-OR הוא type mismatch...
יש למישהו רעיון מה יכולה להיות הסיבה לכך ואיך פותרים אותה? הרי מראש ידעתי שהתנאי הימני לא אמור להתקיים עבור הרשומות הראשונות ולכן הכנסתי את התנאי השמאלי שאמור היה להתקיים ולגרום לקוד להיכנס לתוך ה-IF...(ואגב, אם התנאי השמאלי כבר מתקיים, למה בכלל הוא ממשיך לבדוק את התנאי הימני ולא פשוט נכנס לקוד שבא אחרי ה-IF?)
שלום לכולם.
נתקלתי היום במקרה מאוד מוזר ולא הצלחתי להבין מה המקור שלו.
יצרתי על המחשב שלי קטע מאקרו,שבאחת השורות שלו יש תנאי IF המכיל OR בין שני תנאים. קטע הקוד הזה עובד 200% במחשב שלי.
לקחתי את הקוד והעתקתי אותו אחד לאחד (אפילו לא בהקלדה, ממש copy-paste) למחשב אחר (אני לא יכול להעלות קובץ לדוגמא כי מדובר על מחשב של הצבא, לכן אני מקווה שבכל זאת תהיה אפשרות לפתור את הבעיה גם בלי דוגמא) וכאשר הרצתי את הקטע - הקוד נתקע על השורה עם התנאי וקיבלתי הודעה של type mismatched..
כאשר פתחתי את חלון "watch window" כדי לראות מה הערכים של המשתנים, אז על המחשב שבו הקוד עבד אני מקבל שהתנאי משמאל ל-OR הוא TRUE והתנאי מימין ל-OR הוא FALSE, ובסה"כ קטע הקוד עובד.
מצד שני - על המחשב השני אני מקבל כי התנאי משמאל ל-OR הוא TRUE , והתנאי מימין ל-OR הוא type mismatch...
יש למישהו רעיון מה יכולה להיות הסיבה לכך ואיך פותרים אותה? הרי מראש ידעתי שהתנאי הימני לא אמור להתקיים עבור הרשומות הראשונות ולכן הכנסתי את התנאי השמאלי שאמור היה להתקיים ולגרום לקוד להיכנס לתוך ה-IF...(ואגב, אם התנאי השמאלי כבר מתקיים, למה בכלל הוא ממשיך לבדוק את התנאי הימני ולא פשוט נכנס לקוד שבא אחרי ה-IF?)