אם אתם מחפשים לשדרג את ניתוח הנתונים והדו"חות שלכם באופן מקצועי ?
אני ממליץ בחום לשקול את השירות שלנו של תותח Excel.
המומחיות שלנו באקסל תורמת להגשמת היעדים ולפתרון של בעיות מורכבות בצורה יעילה ומהירה.
עם מומחה Excel, אתם יכולים להיות בטוחים שתהליך העבודה שלכם יתנהל בצורה מקצועית.
ליצירת קשר לחצו כאן.

משתנים סטטים ב- VBA ( מקרו של אקסל )

שלום וברכה, 

הצגתי בעבר איך משתמשים במשתנים בכל מיני מאקרויים שאנחנו כותבים. הפעם אני רוצה להציג סוג שונה של משתנים. 

משתנים שהערך שלהם לא מתאפס ברגע שהפעלת המאקרו הסתיימה. 

מה השימוש של משתנים סטטים במאקרו vba ?  

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

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

המנהל רוצה להתריע בכל פעם שלחצו יותר מחמש פעמים, כיוון שהוא לא רוצה לשלם עמלות 

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

בין אם אתה בעל עסק קטן או מנהל מחלקה בחברה גדולה, המומחים שלנו לאקסל שלנו יכולים לשנות את האופן שבו אתה עובד.
עם ידע עמוק וניסיון רב שנים באקסל, המומחים שלנו יסייע לך למקסם את הפוטנציאל של הנתונים שלך.
חסוך זמן ומשאבים בעזרת קבצי אקסל משוכללים, דוחות אוטומטיים וממשקים חכמים.
צא לדרך לעסק יעיל וממוקד נתונים עוד היום - צור קשר עכשיו!

איך נעשה זאת ? 

ללא משתנים סטטים (שמייד אדגים) הקוד היה נראה כך : 

Sub SendToBank() 
Dim counter as Integer 
Counter = counter + 1 
If (counter>5) then msgbox("more than 5 times… be careful") 
End sub 

אבל, הבעיה בקוד הזה , היא שהמשתנה counter  נוצר כל פעם מחדש, ובכל פעם הערך שלו בהתחלה הוא אפס . 

רוצה ליצור דוחות ותרשימים מתקדמים בעזרת Excel?
שירות של מומחה Excel יכול להציע לך פתרונות מותאמים לצרכים שלך.
צור קשר עכשיו

איך נגרום למשתנה לשמור על ערכו ולא להתאפס ? 

לצורך כך, אחד הפתרונות הוא משתנה סטטי – משתנה סטטי שומר על ערכו, ולא מתאפס. 

נתקן את הקוד שיראה כך :  

Sub SendToBank() 
Static counter as Integer 
Counter = counter + 1 
If (counter>5) then msgbox("more than 5 times… be careful") 
End sub 

ועכשיו, כל לחיצה תעלה את ערך המשתנה באחד. והמשתנה לא יתאפס. 

זהו…

סיכום - משתנים סטטים ב-VBA

ראינו שיטה פשוטה בה אפשר להשתמש במשתנה, שערכו לא מתאפס כאשר המאקרו מסיים לרוץ.

בהצלחה!

הערות להרחבה : 

ראשית – יש שיטות נוספות להשיג את המטרה הזו, אפשר להשתמש במשתנים ציבוריים Public  או לאחסן את הערך בתא ועוד. המטרה שלי הייתה להציג את הפשטות של שימוש במשתנה סטטי, שלא מצריכה הבנה מעמיקה של כל נושא ה scope של משתנים. 

שנית, בתיכנות, הבעיה שהתעסקנו איתה נקראת state  ומי שמעוניין להעמיק בנושא, מוזמן לגגל על זה. 

קרדיט לתמונת הפתיח : Image by Lee Travathan from Pixabay

רוצה להפוך את עבודתך ב-Excel לפחות מסובכת ויותר יעילה?
מומחה Excel יכול להפוך תהליכים לאוטומטים ולבנות עבורך אקסלים יעילים.
צור קשר עכשיו