פרודצדורות מול פונקציות במאקרו Excel

להוסיף פונקציות חדשות לאקסל
להוסיף פונקציות חדשות לאקסל
להוסיף פונקציות חדשות לאקסל

שלום וברוכים הבאים לשיעור ה-13 בקורס מאקרו VBA ב- Excel.

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

עד כה  - למדנו שכל קטע ב-VBA מתחיל במילה Sub ומסתיים במילים End Sub.

בצורה הבאה

Sub שם המאקרו ()
כאן בא הקוד שהקלטנו ו/או כתבנו
End Sub

זוהי צורה אחת לשמור קטעים של קוד.

יש ב-VBA צורה נוספת, שבה אפשר לשמור קוד , והקוד הזה מחזיר ערך בסוף התהליך.

והצורה הזו - נקראת פונקציה.

הסבר קצרצר  על פונקציות

הצורה שהשתמשנו עד כה - נקראת פרוצדורות.

כל פרוצדורה מבצעת מספר פקודות (שהקלטנו או כתבנו)

ובסוף התהליך פשוט מסתיימת.

לעומת זאת פונקציות - מיועדות לבצע קוד מסויים

ובסופו - מחזירות ערך.

פונקציות מחזירות ערך ?  למי ? למה ?

ובכן - הן מחזירות ערך למי שכותב אותן.

בואו נראה דוגמא - וזה יהיה מובן יותר.

נעתיק את הקוד הבא אל העורך :

 

Function A_Plus_B(A,B)

Dim result
result = A+B
A_Plus_B = result
End Function

ועכשיו נלך לגיליון האקסל,

אך במקום להפעיל את המאקרו - פשוט נבחר תא

ונרשום בתוכו את הסימן שווה =

ואחריו את הנוסחה עם 2 מספרים

נניח

=A_Plus_B(2,3)

ואחרי שנלחץ Enter

תתקבל כמובן התשובה 5.

מה עשתה הפונקציה באקסל ? - הסבר הקוד

ובכן , הפונקציה שכתבנו, מקבלת 2 משתנים (=פרמטרים)

מחברת אותם , אל תוך משתנה שנקרא result

ובסוף הפונקציה כתבנו משפט שאומר

שם הפונקציה (בדוגמא שלנו A_Plus_B ) = המשתנה result

כלומר - כתבנו קוד שאומר למחשב, להחזיר למי שקורא לפונקציה

את תוכן המשתנה result.

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

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

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

אם היו חסרות לכם נוסחאות עד כה באקסל  - כעת תוכלו להרחיב את האפשרויות באקסל

ולכתוב בעצמכם את הנוסחאות החסרות.

סיכום ההבדלים בין פרוצדורה לפונקציה

1. פונקציה מתחילה ומסתיימת במילים Function , במקום המילה Sub

2. פונקציה מחזירה ערך בתוך שם הפונקציה.

בהצלחה !

שיעור המשך לשיעור זה

נושאים בפוסט זה : פונקציות אקסל, הבדל בין פרוצדורה לפונקציה ב-VBA