פונקציית גליון עבודה VBA | כיצד להשתמש ב- SheetFunction ב- VBA?

פונקציות גליון עבודה של Excel VBA

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

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

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

כיצד להשתמש בפונקציות גליונות עבודה ב- VBA?

ניתן להוריד תבנית VBA WorksheetFunction זו - תבנית VBA WorksheetFunction

בגליון העבודה, כל הנוסחאות מתחילות בסימן שווה (=), באופן דומה בקידוד VBA על מנת לגשת לנוסחאות של גליונות עבודה עלינו להשתמש במילה "WorksheetFunction".

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

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

# 1 - פונקציות פשוטות של גליון עבודה SUM

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

נניח שיש לך נתוני מכירות ועלויות חודשיים בגליון העבודה כמו זה שלהלן.

ב- B14 ו- C14 עלינו להגיע לסך המספרים שלעיל. בצע את השלבים הבאים כדי להתחיל בתהליך החלת הפונקציה "SUM" ב- Excel VBA.

שלב 1: צור שם פשוט מאקרו של Excel.

קוד:

 גיליון עבודה משנה_פונקציה_דוגמה 1 () סוף משנה 

שלב 2: מכיוון שאנו זקוקים לתוצאה בתא B14 התחל את הקוד כטווח ("B14"). ערך =

קוד:

 טווח גיליון עבודה_פונקציה_דוגמה 1 () ("B14"). ערך = משנה משנה 

שלב 3: ב- B14 אנו זקוקים לערך כתוצאה מסכום המספרים. אז על מנת לגשת לפונקציה SUM מגליון העבודה התחל את הקוד כ- "WorksheetFunction".

קוד:

טווח גיליון עבודה_פונקציה_דוגמה 1 () ("B14"). ערך = גיליון עבודה. סיום משנה

שלב 4: ברגע שתציב נקודה (.) היא תתחיל להציג את הפונקציות הזמינות. אז בחר SUM מתוך זה.

קוד:

 טווח גיליון עבודה_פונקציה_דוגמה 1 () ("B14"). ערך = גיליון עבודה. סוף סוף משנה 

שלב 5: עכשיו תן את ההפניה של המספרים לעיל כלומר טווח ("B2: B13").

קוד:

 טווח גיליון עבודה_פונקציה_דוגמה 1 () ("B14"). ערך = גיליון עבודה - סכום (טווח ("B2: B13")) סוף סוף 

שלב 6: באופן דומה עבור העמודה הבאה החל את הקוד הדומה על ידי שינוי הפניות לתאים.

קוד:

 טווח גיליון עבודה_פונקציה_דוגמה 1 () ("B14"). ערך = גיליון עבודה.סום (טווח ("B2: B13")) טווח ("C14"). ערך = גיליון עבודה פונקציה. טווח ("C2: C13")) סוף משנה 

שלב 7: כעת הפעל קוד זה באופן ידני או השתמש במקש F5 כדי לקבל סך של תאי B14 ו- C14.

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

# 2 - השתמש ב- VLOOKUP כפונקציה של גליון עבודה

נראה כיצד להשתמש ב- VLOOKUP ב- VBA. נניח להלן הנתונים שיש לך בגיליון ה- Excel שלך.

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

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

שלב 1: צור שם מאקרו פשוט בהליך המשנה.

קוד:

 גיליון עבודה משנה_פונקציה_דוגמא 2 () סוף משנה 

Step 2: We need the result in the F2 cell. So start the code as Range (“F2”).Value =

Code:

 Sub Worksheet_Function_Example2() Range ("F2").Value = End Sub 

Step 3: To access worksheet function VLOOKUP starts the code as “WorksheetFunction.VLOOKUP”.

Code:

 Sub Worksheet_Function_Example2() Range ("F2").Value = WorksheetFunction.Vlookup( End Sub 

Step 4: One of the problems here is syntax will not give you any sort of guidance to work with VLOOKUP. You need to be absolutely sure about the syntax you are working on.

The first syntax of VLOOKUP is “Lookup Value”. In this case, our lookup value is E2 cell value, so write the code as Range (“E2”).Value

Code:

 Sub Worksheet_Function_Example2() Range ("F2").Value = WorksheetFunction.Vlookup(Range ("E2").Value, End Sub 

Step 5: Now the second argument is our table array, in this case, our table array range is from A2 to B6. So the code will be Range (“A2:B6”)

Code:

 Sub Worksheet_Function_Example2() Range ("F2").Value = WorksheetFunction.Vlookup(Range ("E2").Value,Range ("A2:B6"), End Sub 

Step 6: The Third argument will be from which column we need the data from the table array. Here we need the data from the 2nd column, so the argument will be 2.

Code:

 Sub Worksheet_Function_Example2() Range ("F2").Value = WorksheetFunction.Vlookup(Range ("E2").Value,Range ("A2:B6"),2, End Sub 

Step 7: The final argument is range lookup, we need an exact match so the argument is zero (0).

Code:

 Sub Worksheet_Function_Example2() Range("F2").Value = WorksheetFunction.VLookup(Range("E2").Value, Range("A2:B6"), 2, 0) End Sub 

So, we are done with the coding part. Now go to the worksheet and select any of the range.

Now go to your coding module and run the macro Using F5 key or manually to get the pin code of the selected zone.

We cannot go back and run the macro every time, so let’s assign a macro to shapes. Insert one of the shapes in a worksheet.

Add a text value to inserted shape.

Now right click and assign the macro name to this shape.

Click on ok after selecting the macro name.

Now, this shape holds the code of our VLOOKUP formula. So whenever you change the zone name click on the button, it will update the values.

Things to Remember

  • To access worksheet functions we need to write the word “WorksheetFunction” or “Application.WorksheetFunction”
  • We don’t have access to all the functions only a few.
  • We don’t see the actual syntax of worksheet functions, so we need to be absolutely sure of the function we are using.