שלום וברכה,

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

קודם כל, למה זה נחוץ בכלל ?

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

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

סרטון - איך להשתמש בפונקציית אקסל מתוך מאקרו VBA ?

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

איך משתמשים בפונקציות אקסל מתוך קוד VBA ?

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

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

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

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

ולמעשה - זו הצורה להשתמש בפונקציות. בתמונה הבאה - רואים דוגמא מעשית כיצד השתמשתי בפונקצית Match והכנסתי את התוצאה שלה אל תוך משתנה בשם r .

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

הדגש הראשון הוא - שכדי לציין טווחים, יש להשתמש בפונקציית Range, כלומר בפונקציות שבהם יש לציין טווח, אי אפשר פשוט לכתוב את הטווח בתוך גרשיים, אלא חייבים להשתמש בפונקציית Range, למשל Range(“a1:a3”) , ועדיף - לציין זאת עם שם הגיליון, כלומר עם פונקציית Sheets, בצורה הבאה Sheets(“YourWorksheetName”).Range(“YourFirstCell:YourLastCell”)

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

וזהו.

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

סיכום - שימוש בפונקציות אקסל מתוך מאקרו VBA

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

בהצלחה!

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