פורום שאלות ותשובות

ברוכים הבאים לפורום שאלות ותשובות באופיס

ניתן לשאול שאלות טכניות באקסל, וורד, פאורפוינט, אוטלוק, שיירפוינט ושאר יישומי אופיס ללא צורך להירשם וללא עלות

א' שואלת:

האם ניתן להגדיר הודעה קופצת באקסל? (הכוונה לא לעיצוב מותנה).

אני מנהלת קובץ של רכבים חלופיים הבנוי מגיליון מרכז וגיליונות נפרדים עבור כל רכב בהם מעדכנים נתונים. 

בגיליון המרכז מתעדכן הסטטוס של כל רכב אוטומטית ע"ב גיליונות הרכבים.

לפעמים העובדים שוכחים לעדכן את סטטוס הרכב בגיליונות הרכבים, דבר אשר גורם לבלגן וחוסר סדר,

האם ישנה אפשרות להודעה קופצת בעת ניסיון מעבר בין גיליונות/במידה וחלה עריכה כלשהי בגיליון שמטרתה להזכיר לעובד לעדכן סטטוס?

תודה
 
תשובה:
 
ניתן לבצע זאת באקסל על ידי שימוש בקוד VBA.
 
בקובץ אקסל נגדיר שני גיליונות. גיליון אחד עבור פרטי הרכב וגיליון טבלה מרכזת.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
נפתח את עורך קוד VBA על ידי לחיצה על Alt+F11. בצד שמאל נלחץ לחיצה כפולה על שם הגליון ונוסיף את הקוד המצ"ב.
הקוד משתמש במשתנה דגל שיכול לקבל ערך True או False.
בכניסה לגיליון מופעלת שיגרה Worksheet_activate שמאפסת את הדגל לערך False.
בעת שינוי בגיליון מופעלת שיגרה Worksheet_Change שמעדכנת את הדגל לערך True.
ביציאה מהגיליון מופעלת שיגרה Worksheet_Deactivate שבודקת את ערך הדגל. אם ערכו הוא True אז המשמעות שבוצע שינוי בגיליון ומוצגת התראה למשתמש לבדוק את ססטוס הרכב.
 
 
 
 
Private bolChange As Boolean

Private Sub Worksheet_activate()
    bolChange = False
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    bolChange = True
End Sub

Private Sub Worksheet_Deactivate()
    If bolChange = True Then
        MsgBox "בוצע שינוי בגיליון. נא לוודא עדכון סטטוס הרכב.", vbInformation + vbOKOnly + vbMsgBoxRight + vbMsgBoxRtlReading, ""
    End If
End Sub
 
 
 כעת אם יבוצע שינוי בגיליון הרכב והמשתמש יעבור לגיליון אחר אז תוצג ההודעה הבאה:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 יש לשמור את הקובץ בפורמט XLSM המאפשר הפעלת קוד VBA של אקסל.
 
יש לעדכן את ההגדרות הבאות בתוכנת אקסל על מנת לאפשר הפעלת קוד VBA -
 
בתפריט קובץ -> אפשרויות -> מרכז יחסי אמון יש לבחור בהגדרות מקרו, לסמן "הפוך את כל פקודות המקרו לזמינות"  ולאשר.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
בברכה,
צוות אניפיט