מחשביםתוכנה

VBA Excel: תוכניות מדגם. מאקרו באקסל

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

מהו VBA

תכנות ב- Excel נעשה על ידי Visual Basic עבור יישומים בשפת התכנות שנבנה במקור בגיליון האלקטרוני המפורסם ביותר מבית מיקרוסופט.

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

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

אובייקטים, אוספים, מאפיינים, ושיטות

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

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

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

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

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

עם זאת, הוא משמש לעתים קרובות Selection.ClearContents. עשייתה סליקה את תוכן התא הנבחר.

איך להתחיל

קודם כל, אתה רוצה ליצור את הקובץ ולשמור אותו, להקצות שם ובחר את סוג Excel «ספר מאופשר מאקרו."

לאחר מכן, עבור יישום VB, וזה מספיק כדי להשתמש בשילוב של «Alt» מפתח «F11». הבא:

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

זה נראה כדלקמן:

תוכנית תת ()

"הקוד שלנו

תת End

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

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

מאקרו באקסל

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

דוגמא 1

המשימה: כתבו תוכנית אשר להעתיק את הערך של תכולת תא אחד ולאחר מכן לכתוב למשנהו.

לשם כך:

  • פתח את הכרטיסייה "הצג";
  • להעביר את הסמל "מאקרו";
  • לנער את "הקלטת מאקרו";
  • למלא טופס נפתח.

לשם הפשטות, את "שם מאקרו" לעזוב "Makros1" וב "מקש קיצור" מוכנס, למשל, hh (זה אומר שאתה יכול להריץ את התוכנית לדוגמא יהיה צוות בליץ «h Ctrl +»). לחץ על Enter.

עכשיו שיש לך התחיל להקליט את המאקרו, לפצות את תוכנו של תא אחר. חזור על הסמל המקורי. לחץ על "הקלטת מאקרו". פעולה זו מציינת את סיומו של יישומונים.

הבא:

  • נעה שוב למחרוזת "מאקרו";
  • נבחר לרשימה "מאקרו 1";
  • לחץ "Run" (אותו מתחיל פעולה הושק מקשי קיצור «Ctrl + hh»).

כתוצאה מכך, את הפעולה שבוצעה במהלך ההקלטה המאקרו.

זה הגיוני לראות איך הקוד נראה. כדי לעשות זאת, לחזור אל המחרוזת "מאקרו" ולחץ על "ערוך" או "Enter". כתוצאה מכך, הם מוצאים את עצמם בסביבת VBA. למעשה, את הקוד עצמו נמצא בין השורות מאקרו תת Makros1 () ו Sub End.

אם העתקה שבוצעה, למשל, מתא A1 ב C1 התא, אחד שורות קוד ייראה Range ( "C1"). בחר. בתרגום, זה נראה כמו "טווח (" C1 "). בחר", או במילים אחרות, עושה את המעבר ל- Excel VBA, ב C1 התא.

חלק פעיל של הקוד משלים ActiveSheet.Paste צוות. הכוונה היא לבטל הקלטה התכנים שנבחרו התא (במקרה זה, A1) ב C1 התא הנבחר.

דוגמא 2

מחזורי VBA לעזור ליצור פקודות מאקרו שונות ב- Excel.

מחזורי VBA לעזור ליצור פקודות מאקרו שונות. נניח כי קיימת פונקציה y = x + x 3 + 3x 2 - cos (x). אתה רוצה ליצור מאקרו עבור הגרפיקה שלה. זה יכול להיעשות רק באמצעות מחזורי VBA.

עבור ערך התחלתי וסופי של פונקציות טיעון לקחת x1 = 0 ו x2 = 10. יתר על כן, יש צורך להציג קבוע - הערך עבור צעד משנה את הטיעון ואת ערך ראשוני עבור הדלפק.

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

programm Sub ()

X1 = 1

x2 = 10

זיון = 0.1

i = 1

האם בעוד x1

y = x1 + x1 ^ 2 + 3 * x1 ^ 3 - קוס (x1)

תאים (i, 1) .Value = x1 (ערך X1 נכתב בזיכרון עם קואורדינטות (i, 1))

תאים (i, 2) .Value = y (ערך y כתוב בתא עם קואורדינטות (i, 2))

i = i + 1 (ספירת תקף);

X1 = x1 + זיון (טיעון משתנה לגודל הצעד);

Loop

תת End.

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

ואז לתזמן מסוגל לבנות עליהן, הסטנדרט עבור "אקסל".

דוגמא 3

כדי ליישם מחזורים VBA Excel 2010, כמו גם בגרסאות אחרות, יחד עם Do מופחת כבר בעוד העיצוב משמש.

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

ראשית יש צורך ליצור מאקרו, כפי שתואר לעיל. הבא, לכתוב את הקוד עצמו. אנו מאמינים כי אנו מעוניינים הערכים עבור 10 התאים. הקוד הוא כדלקמן.

עבור i = 1 עד 10 הבא

הפקודה מועברת בשפה "האנושה", כמו "חזר מ -1 עד 10 במרווחים של אחד."

אם המשימה לקבל את הטור עם ריבועים, למשל, את כל המספרים השלמים המוזרים בין 1 ו 11, אנחנו כותבים:

עבור i = 1 עד 10 צעד 1 הבא.

כאן, צעד - צעד. במקרה זה, זה שווה לשני. כברירת מחדל, בהיעדר המילה בלולאה כלומר צעד יחיד.

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

באופן כללי, את הקוד ייראה כך:

תוכנית תת ()

עבור i = 1 כדי 10 שלב 1 (יכול להיכתב רק עבור i = 1 כדי 10)

תאים (i, 1) .Value = i ^ 2 (ערך מרובע למשל כתוב לתוך התא (i, 1) i)

הבא (במובן משחק את התפקיד של אמצעי נגד ועוד תחילת מחזור)

תת End.

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

דוגמא 4

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

קחו למשל את המקרה המסוים. תניח שאתה רוצה ליצור מאקרו עבור "אקסל" לתא עם הקואורדינטות (1,1) נרשם:

1 אם הארגומנט הוא חיובי;

0 אם הארגומנט הוא אפס;

1, אם הארגומנט הוא שלילי.

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

תוכנית תת ()

x = תאים (1, 1) .Value (פקודה זו מקצה את הערך של הקואורדינטות x של תוכן התא (1, 1))

אם x> 0 ואז תאים (1, 1) .Value = 1

אם x = 0 ואז תאים (1, 1) .Value = 0

אם x <0 ואז תאים (1, 1) .Value = -1

תת End.

נותר רק להפעיל מאקרו ולקבל ב "אקסל" ערך רצוי עבור הטיעון.

פונקציות VBA

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

  • פונקציות מתמטיות. החלתי את הטיעון של ערך קוסינוס מתקבל, הלוגריתם הטבעי, ולכן חלק השלם.
  • פונקציות פיננסיות. בשל תכנות הזמין ושימוש בם ב- Excel, אתה יכול לקבל כלים אפקטיביים חשבונאי התנחלויות פיננסיות.
  • עיבוד פונקציות מערך. אלה כוללים מערך, IsArray; LBound; UBound.
  • VBA Excel לתפקד עבור הקו. זוהי קבוצה גדולה למדי. היא כוללת, למשל, פונקצית שטח כדי ליצור מחרוזת עם מספר הפערים שווים הוויכוח השלם או סימני העברות עולים כדי קוד ANSI. כולם נמצאים בשימוש נרחב ולאפשר לך לעבוד עם מחרוזות של "אקסל" כדי ליצור יישומים הרבה יותר קל לעבוד עם טבלאות אלו.
  • פונקציות מרת סוג הנתונים. לדוגמה, cvar חוזר הטיעון הביטוי, ולהמירו ל- סוג הנתונים Variant.
  • פונקציות תאריך. הם מאוד להרחיב את התכונות הסטנדרטיות של "אקסל". אז, פונקצית WeekdayName מחזירה את השם (מלא או חלקי) של היום בשבוע לפי המספר שלה. אפילו יותר שימושי הוא טיימר. הוא נותן את מספר השניות שחלפו מאז חצות אל רגע מסוים של היום.
  • פונקציה להמיר טיעון מספרי במערכות המספר השונות. לדוגמא, אוקטובר פלטי ייצוג אוקטלי של המספר.
  • פונקציות עיצוב. החשוב ביותר של אלה הוא הפורמט. היא מחזירה Variant בהבעה מעוצבת על פי הוראות שניתנו בתיאור של הפורמט.
  • וכן הלאה.

המחקר של התכונות של פונקציות אלה ויישומם יהיה להרחיב באופן משמעותי את ההיקף "אקסל".

דוגמא 5

בואו ננסה לפתור בעיות מורכבות יותר. לדוגמה:

דן נייר מסמך הרם בפועל של עלויות של דו"ח העסק. דורש:

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

קחו את אחד מהפתרונות הבאים.

יצירת תבנית

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

משתנה

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

  • מספר NN- של השורה הנוכחית של השולחן;
  • TP ו TF - מתוכנן מחזור בפועל;
  • SF ו SP - סך העלויות בפועל ומתוכננת;
  • IP ואם - מתוכנן ורמת עלויות בפועל.

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

פתרון הבעיה באמצעות תכנות VBA

באמצעות רישום זה, נקבל את הנוסחא השונה. אם אתה רוצה לבצע את החישוב ב% יש לנו (F - P) / P * 100, ו בסך של - (F - P).

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

לקבלת התוצאה ופרוגנוזה למעשה מתקבל על ידי נוסחאות ItogP = ItogP + P ו ItogF = ItogF + F.

סטיות להשתמש = (ItogF - ItogP) / ItogP * 100 אם החישוב מתבצע כאחוזים, ואם הערך הכולל - (ItogF - ItogP).

התוצאות שוב רשמו בתאים המתאימים, כך שאין צורך להקצות אותם משתנה.

לפני שמתחילים ליצור תוכנית ברצונך לשמור את חוברת העבודה, למשל, תחת השם "Otchet1.xls".

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

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

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 iw.birmiss.com. Theme powered by WordPress.