שימוש בנוסחאות אקסל בתוך קוד VBA

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

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

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

דרך שחלק מהמפתחים יבחרו בה עשויה להיות לולאה:

For lngRow = 1 To otable.ListRows.Count

       If otable.ListColumns("Worker").DataBodyRange.Cells(lngRow, 1) = "Moshe" Then

            Counter = Counter + 1

       End If

Next


 

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

Application.WorksheetFunction.[Formula]

ולדוגמא שלנו:

Counter = Application.WorksheetFunction.CountIf(otable.ListColumns("Worker").DataBodyRange, "Moshe")

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

אל תהססו לשאול שאלות בדף "הכה את המומחה ? שאלות ותשובות":

עמוד שאלות ותשובות

התחדשנו גם בעמוד פייסבוק חדש!
https://www.facebook.com/Excelando

אהבתם? תשתפו!

לעוד פוסטים

הרשמה לניוזלטר

רוצה לקבל מידע מהבלוג שלנו?
הירשם עכשיו והישאר מעודכן.

פרטי יצירת קשר

השתכנעתי, רוצה BI!

לתיאום הדגמה

שיתוף מסכים מרחוק? פגישה אצלכם או אצלנו?






    שליחת הטופס מהווה הסכמה לקבלת מידע שיווקי מאקסלנדו

    לתיאום הדגמה

    שיתוף מסכים מרחוק? פגישה אצלכם או אצלנו?






      שליחת הטופס מהווה הסכמה לקבלת מידע שיווקי מאקסלנדו

      אתר זה משתמש בקבצי Cookies. המשך גלישתך באתר מהווה הסכמה לקבלת Cookies באתר.