דף הבית > VBA, אקסל מתקדם > נוסחאות דינמיות ואינטראקטיביות באקסל

נוסחאות דינמיות ואינטראקטיביות באקסל

 

לרוב, נוסחאות האקסל מבצעות פעולה אחת מוגדרת מראש: בד"כ פעולה מתמטית כלשהי – סכום, ממוצע וכו' או איתור ערכים, למשל vlookup.

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

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

 

 

 

 

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

 

Evaluate(text)

 

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

אבל אל דאגה. כל מה שנדרש כדי להתגבר על המכשול הוא לכתוב פונקציית מעטפת קצרצרה ולמקמה במודול VBA:

1. לחיצה על ALT+F11

2. הוספת מודול: Insert – > Module

3. קופי-פייסט לקוד הבא:

 

Function Evl(text As String) As String

    Evl = Evaluate(text)

End Function

 

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

 

 

בהצלחה!

 

 

קטגוריות:VBA, אקסל מתקדם
  1. אין תגובות עדיין.
  1. אין הפניות עדיין.