מדריך למתחילים בכתיבת פקודות מאקרו VBA ב- Excel (ולמה כדאי ללמוד)

מדריך למתחילים בכתיבת פקודות מאקרו VBA ב- Excel (ולמה כדאי ללמוד)

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





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





נתחיל ביסודות.





מהו VBA?

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

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



ובכל זאת, לוקח זמן להתרגל ל- VBA.

היתרונות של מאקרו VBA באקסל

אם VBA קשה יותר מהקלטת מאקרו, מדוע שתשתמש בו? התשובה הקצרה היא שאתה מקבל הרבה יותר כוח ממאקרו VBA.





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

איך לדעת אם נחסמת באינסטגרם

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





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

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

דוגמה למאקרו VBA באקסל

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

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

Sub StoreSales()
Dim Sum1 As Currency
Dim Sum2 As Currency
Dim Sum3 As Currency
Dim Sum4 As Currency
For Each Cell In Range('C2:C51')
Cell.Activate
If IsEmpty(Cell) Then Exit For
If ActiveCell.Offset(0, -1) = 1 Then
Sum1 = Sum1 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 2 Then
Sum2 = Sum2 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 3 Then
Sum3 = Sum3 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 4 Then
Sum4 = Sum4 + Cell.Value
End If
Next Cell

Range('F2').Value = Sum1
Range('F3').Value = Sum2
Range('F4').Value = Sum3
Range('F5').Value = Sum4

End Sub

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

הכרזת המשנה

בתחילת המודול יש לנו 'תת חנויות ()'. זה מגדיר משנה חדשה בשם StoreSales.

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

בסוף המודול, יש לנו 'סוף קצה', המספר ל- Excel שסיימנו עם המאקרו VBA הזה.

הצהרת משתנים

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

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

מכיוון שמאקרו ה- VBA שלנו יעסוק במטבעות, אנו משתמשים בסוג נתוני המטבע.

המשפט 'Dim Sum1 כמטבע' אומר ל- Excel ליצור משתנה מטבע חדש בשם Sum1. כל משתנה שאתה מצהיר צריך להיות בעל הצהרת 'As' כדי לספר ל- Excel את סוגו.

התחלת For Loop

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

כך נראית הלולאה:

For Each Cell in Range('C2:C51')
[a bunch of stuff]
Next Cell

זה אומר ל- Excel לחזור על התאים בטווח שציינו. השתמשנו ב- אובייקט טווח , שהוא סוג מסוים של אובייקט ב- VBA. כאשר אנו משתמשים בו כך --- טווח ('C2: C51') --- הוא אומר לאקסל שאנו מעוניינים ב -50 התאים האלה.

'לכל אחד' אומר ל- Excel שאנחנו הולכים לעשות משהו עם כל תא בטווח. 'תא הבא' מגיע אחרי כל מה שאנחנו רוצים לעשות, ואומר ל- Excel להתחיל את הלולאה מההתחלה (החל מהתא הבא).

יש לנו גם הצהרה זו: 'If IsEmpty (Cell) then exit for.'

אתה יכול לנחש מה זה עושה?

הערה: אם לדבר באופן מדויק, שימוש בלולאת While יכול להיות בחירה טובה יותר . עם זאת, לשם ההוראה, החלטתי להשתמש בלולאת For עם יציאה.

פורמט usb להתקנת חלונות 10

הצהרות אם-אז-אחרת

הליבה של המאקרו המסוים הזה היא בהצהרות אם-אז-אחר. להלן רצף ההצהרות המותנות שלנו:

If ActiveCell.Offset(0, -1) = 1 Then
Sum1 = Sum1 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 2 Then
Sum2 = Sum2 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 3 Then
Sum3 = Sum3 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 4 Then
Sum4 = Sum4 + Cell.Value
End If

על פי רוב, אתה כנראה יכול לנחש מה הצהרות אלה עושות. עם זאת, ייתכן שאתה לא מכיר את ActiveCell.Offset. 'ActiveCell.Offset (0, -1)' אומר ל- Excel להסתכל על התא שנמצא בעמודה אחת משמאל לתא הפעיל.

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

Excel עובר את כל ההצהרות הללו לפי הסדר. אם ה הצהרה מותנית הוא מרוצה, הוא משלים את הצהרת 'אז'. אם לא, הוא עובר אל ElseIf הבא. אם זה יגיע עד הסוף ואף אחד מהתנאים לא התקיים, זה לא ייקח שום פעולה.

השילוב של הלולאה והתנאים הוא מה שמניע את המאקרו הזה. הלולאה אומרת ל- Excel לעבור על כל תא בבחירה, והתנאים אומרים לו מה לעשות עם התא הזה.

כתיבת ערכי תאים

לבסוף, נוכל לכתוב את תוצאות החישובים שלנו לתאים. להלן השורות שבהן אנו משתמשים לשם כך:

Range('F2').Value = Sum1
Range('F3').Value = Sum2
Range('F4').Value = Sum3
Range('F5').Value = Sum4

עם '.Value' וסימן שווים, אנו מגדירים כל אחד מהתאים לערך של אחד המשתנים שלנו.

וזה הכל! אנו אומרים ל- Excel שסיימנו לכתוב את המשנה הזה עם 'Sub Sub', והמאקרו של VBA הושלם.

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

חיבור אבני הבניין של VBA ב- Excel

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

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

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

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

אנדרואיד אוטומטי לא עובד לאחר עדכון
לַחֲלוֹק לַחֲלוֹק צִיוּץ אימייל הנה הסיבה שה- FBI הוציא אזהרה על תוכנת כופר של כוורת

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

קרא הבא
נושאים קשורים
  • פִּריוֹן
  • גיליון אלקטרוני
  • Microsoft Excel
  • Microsoft Office 2016
  • פקודות מאקרו
  • הדרכות קידוד
על הסופר ואז אולברייט(פורסמו 506 מאמרים)

Dann היא אסטרטגיית תוכן ויועצת שיווק שעוזרת לחברות לייצר ביקוש והובלות. הוא גם כותב בלוגים אסטרטגיה ושיווק תוכן ב- dannalbright.com.

עוד מאת דן אולברייט

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

הצטרף לניוזלטר שלנו לקבלת טיפים, סקירות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

לחצו כאן להרשמה