ניסיתי לשאול את GPT והתייאשתי, לכן אני שואל ומבקש ממעלתכם...,
יש לי קובץ אקסל שבתא B2 כתוב מספר שהוא פונקציה של המספר שרשום בתא A1, ואני רוצה ליצור מאקרו שיכתוב בתא C2 כמה אילו היינו מוסיפים לתא A1 היה תא B2 משתנה ל B2+1.
לכן אני צריך מאקרו שיעשה לולאה, אבל בכל איטרציה שהוא משנה את תא A1 שימתין עד שהאקסל יחשב מחדש את הגליון ורק אז ימשיך את האיטרציה,
במאקרו יהיו המונחים הבאים:
- תא "A1 המקורי" שמשמעותו המספר שרשום בתא A1 בשעת הפעלת המאקרו.
- תא "A1 הנוכחי" שמשמעותו המספר שרשום באותו רגע נתון בתא A1 .
- תא "B2 המקורי" שמשמעותו המספר שרשום בתא B2 בשעת הפעלת המאקרו.
- תא "B2 הנוכחי" שמשמעותו המספר שרשום באותו רגע נתון בתא B2 .
- "המספר הבסיסי" שמשמעותו מספר שמשתנה כל הזמן לפי הוראות המאקרו.
- "המספר המתחלף" שמשמעותו גם מספר שמשתנה כל הזמן לפי הוראת המאקרו.
- מספר "X" שמשמעותו גם הוא מספר שמשתנה לפי הוראות המאקרו.
בתחילת הרצת המאקרו, "המספר המתחלף" = "המספר הבסיסי" = תא A1, ו X=0.
הלולאה נעצרת כשהיא חוזרת על אותו תרגיל שתי איטרציות רצופות,
בתוך הלולאה:
- המאקרו מחשב "המספר הבסיסי" + (2 בחזקת X) וכותב את התוצאה בתא A1,
- המאקרו ממתין שהExcel יחשב מחדש את הגיליון,
- המאקרו מאחזר את הערך המעודכן של תא B2 ("B2 הנוכחי")
- הוא בודק אם ערך "B2 המקורי" שווה לערך "B2 המעודכן",
- אם "B2 המקורי" = "B2 המעודכן" אז המאקרו עושה שתי פעולות:
- "המספר המתחלף" מקבל את הערך שכתוב ב "A1 הנוכחי",
- מוסיף 1 לערך של X,
"המספר הבסיסי" נשאר כמו שהיה,
- אם "B2 המקורי" לא שווה "B2 המעודכן" אז המאקרו עושה שתי פעולות:
- "המספר הבסיסי" מקבל את הערך של "המספר המתחלף",
- מאפס את X ל 0,
"המספר המתחלף" נשאר כמו שהיה,
לאחר שהלולאה נעצרה המאקרו מחשב "A1 הנוכחי" פחות "A1 המקורי", ואת התוצאה כותב בתא C2,
ובסוף המאקרו כותב בתא A1 את "A1 המקורי".
מכיון שאני לא מבין בקודים אין לי מושג אם זה מסובך לכתוב כזה קוד, אם לא אשמח שמישהו יכתוב לי.