השהיית קוד

שלום,
אני מבקש לגרום לקוד VBA לעצור בשלב מסוים (או לבצע השהייה) בתוך התהליך ולאפשר למשתמש לבצע פעולה כלשהי.
המשתמש, לכשייסיים, ילחץ OK (למשל), והקוד ימשיך לרוץ מהנקודה בו עצר.
אודה לעזרה.
 
כן, התהליך נעצר ומאפשר לי לבצע פעולה בגיליון.
לאחר מכן אני חייב לחזור לעורך ולהפעילו שוב (F5) , להמשך וסיום התהליך.
האם יש דרך אחרת..., מבלי לחזור לעורך ?
אגב, ניסיתי להשתמש ב Wait אבל גרסת 2010 לא תומכת (מתקבלת שגיאה Method or data member not found).
 
תודה, אבל כאשר MsgBox עולה - אתה מוזמן להשיב רק לו/לה !!
אתה לא יכול לבצע שום פעולה אחרת (בגיליון).
 

מיכאל אבידן

Member
מנהל
תודה, אבל כאשר MsgBox עולה - אתה מוזמן להשיב רק לו/לה !!
אתה לא יכול לבצע שום פעולה אחרת (בגיליון).
.
MSGBOX היא תמיד מודאלית (MODAL) ואי אפשר 'לעקוף' אותה.

עם זאת, אתה מוזמן ליצור טופס (FORM), בדומה ל-MSGBOX ולהגדירו במאפייני הטופס כ'לא מודאלי' ולקרוא לקוד כדי להציג את הטופס הזה.

המשך העבודה, בגיליון, תתאפשר גם כשהטופס מוצג.
 
1. יצרתי תיבת UserForm והגדרתי כך : 1645599803830.png , כדי לאפשר עבודה על הגיליון.

2. הכנסתי לקוד שלי (ששמו 'עצב') את השורות הבאות במקום הרצוי : 1645599481676.png
3. בתיבת ה UserForm שלי הוספתי כפתור פקודה : 1645599563372.png


אשר מפנה לקוד זה : 1645599664390.png

4. הרעיון היה לתת פקודת המשך, בזמן המתאים למשתמש, באמצעות כפתור הפקודה.
5. כאשר מריצים את הקוד 'עצב' , מופיעה תיבת ההודעה, והקוד נעצר.
המשתמש יכול לבצע את הנדרש.
אבל לאחר מכן, לחיצה על כפתור הפקודה לא עושה דבר. הקוד נותר במצב Stop .
בקיצור, זה לא עובד !

איפה אני טועה ? מה לא בסדר ?
תודה
 
עקפתי את הבעיה :

הפרדתי ל- 2 מאקרואים (בלי פקודת Stop)
ה UserForm מפנה למאקרו השני, וגם סוגר את עצמו.
עובד.
אבל למה לא עובד בשיטה הראשונה...?
 
למעלה