טכנולוגיות עסקיות בניהול – שיעור 2
EXCEL – VBA
כרטסת (לשונית) מפתחים-
קובץ -> אפשרויות ->
1. התאמה אישית של רצועת הכלים -> בכרטסת (שמופיעה בצד שמאל) יש לסמן וי על "מפתחים".
2. מרכז יחסי אמון -> הגדרות מרכז יחסי אמון -> הגדרות מאקרו -> סימון האופציה הרביעית (האופציה של "לא מומלץ..")
3. סגירת האקסל ופתיחה מחדש כדי להתחיל לעבוד.
* כאשר שומרים קובץ שיש בו תכנות יש לשמור אותו עם הסיומת xlsb (b = בינארי, האופציה השלישית כאשר עושים "שמירה בשם").
אקסל-
נחלק לשני חלקים: אקסל עם גיליונות ואקסל עם תכנות (VBA).
המעבר מאקסל לתכנות מתבצע ע'י לחיצה על Alt + F11 ומתכנות לאקסל ע'י לחיצה על האיקס.
פעולות שנרצה לבצע בעזרת נוסחאות => נבצע באקסל, פעולות אוטומטיות ע'י המחשב => תכנות.
תהליך העבודה-
-
Insert -> Module (איזור התכנות בVBA)
* בצד שמאל מופיע הפירוט של הפרויקט.
* ניתן לפתוח מס' Module או לכתוב מס' תוכניות ב Module אחד (ההפרדה בין ה Module תיעשה כשכל אחד מהם מטפל בנושא אחר, בתוכן אחר).
-
SUB + רווח + שם קוד של התוכנית + אנטר (בלחיצה על אנטר המחשב משלים לבד סוגריים באותה השורה ובשורה מתחת נכתב "End Sub").
* אין חשיבות לכתיבה באותיות גדולות או קטנות.
* להוספת תוכניות- יורדים לשורה מתחת ל "End Sub" וחוזרים על התהליך.
* כללים לכתיבת שם הקוד-
1. אין רווחים.
2. אות ראשונה גדולה בתחילת כל מילה חדשה.
3. אנגלית בלבד.
4. אין סימנים.
5. ספרות יכולות להיות רק בסוף.
-
פנייה לתא (פעולת השמה)-
בתכנות, כשרוצים לפנות לתא מסוים ולסמן בתוכו ערך:
Range + סוגריים ובתוכם גרשיים ומס' התא + השמה (=) של ערך רצוי (לדוג': Range("A1")=28).
* סימון = – פעולת השמה (לגרום לזה שהמחשב ייבצע את צד ימין ויעביר את התוצאה לצד שמאל).
לדוג': Range(E2)=E2+1 -> לגרום למחשב לקחת את הערך שבתאE2 , להוסיף לו 1 ואת הערך שהתקבל לשים בתא E2 (בדוגמא הזאת זה חזרה לאותו התא).
* טווח תאים- לטווח של תאים מסמנים נקודתיים (לדוג': Range("A1:E1")).
* גרשיים בצד ימין- לקיחת מה שנמצא בתוך הגרשיים כמו שזה.
לדוג': שמות, נוסחאות (=A1+A2 ואז המחשב לוקח את הפתרון).
* גרש עליון- המחשב ייקח בדיוק את מה שרשום אחרי הגרש.
* שווה מופיע פעמיים- בפעם הראשונה זו פעולה ההשמה ובפעם השנייה זה ערך השוויון (לדוג' Range(E2)="= E2+1").
-
בחירת תא (פעולת תזוזה)-
Range("A1").Select- כדי שהסמן יקפוץ מהיכן שנמצא באותו הרגע אל התא שכתוב בRange וייבצע עליו את הפעולה.
נקודה- מפעילה פעולה בעולם התכנות.
-
לחצן לביצוע פעולות-
לשונית מפתחים -> הוסף -> פקדי טופס -> לחיצה על 'לחצן' (ימני עליון) -> צירוף פעולה ע'י לחיצה על שם התוכנית -> אישור
-
נתינת שם לטווח תאים-
Range + סוגריים ובתוכם גרשיים וטווח התאים + פעולת שם (נקודה + Name, בלי רווח) + השמה.
לדוגמא: Range("A1:A10").Name = "AllData"
-
ניקוי טווח תאים- (במידה וטווח תאים כבר מוגדר כשם כלשהו)
Range + סוגריים ובתוכם גרשיים ושם הטווח + פעולת מחיקה (נקודה + Clear, בלי רווח).
לדוגמא: Range("AllData").Clear
-
עיצוב גופן- (במידה וטווח תאים כבר מוגדר כשם כלשהו)
* צבע-
Range + סוגריים ובתוכם גרשיים ושם הטווח + פעולת גופן (נקודה + Font, בלי רווח) + פעולת צבע (נקודה + Color, בלי רווח) + השמה לצבע הרצוי (צבע נכתב כ Vb ואז הצבע באנגלית באות גדולה בהתחלה וללא רווח).
לדוגמא: Range("AllData").Font.Color=VbGreen
* הדגשה-
Range + סוגריים ובתוכם גרשיים ושם הטווח + פעולת גופן (נקודה + Font, בלי רווח) + פעולת הדגשה (נקודה + Bolt, בלי רווח) + השמה לTRUE (כדי שיתקיים) או FULSE (כדי לא יתקיים).
לדוגמא: כדי שתהיה הדגשה- Range("AllData").Font.Bolt=TRUE
-
פונקציות טקסט-
* פונקציות שעובדות אותו הדבר גם באקסל וגם בתכנות-
(לצורך הדוג': נתונה המחרוזת עם התווים A1="ABCD", אם היה רווח הוא גם היה נחשב בספירה).
LEFT- חותכת מידע מההתחלה (הכיוון הוא כיוון השפה). לדוג': LEFT(A1,2) יהיה AB.
הכתיבה באקסל תהיה: Range("A2")="=LEFT(A1,2)"
הכתיבה בתכנות (VBA) תהיה: Range("A2")=LEFT(Range("A1"),2)
RIGHT- חותכת מידע מהסוף (הכיוון הוא כיוון השפה). לדוג': RIGHT(A1,2) יהיה CD.
MID- צריך לקבוע איפה להתחיל (המספר הראשון בסוגריים) וכמה לחתוך (המספר השני בסוגריים). לדוג': MID(A1,2,2) יהיה BC.
LEN- מחזירה את כמות התווים במחרוזת. לדוג': LEN(A1) יהיה 4.
TRIM-
* פונקציות שעובדות רק בתכנות-
INSTR
VAL (= VALUE באקסל)
לצילום השיעור