טבלאות ציר ב-Excel מהוות חשיבות מכרעת בהפיכת הנתונים לקלים יותר להבנה והבנה. טבלת ציר יכולה לתמצת ולחתוך נתונים למבנים משמעותיים. משתמשי MS Excel אימצו אותם באופן נרחב בתעשיית הנתונים.
האם ידעת שאתה יכול להפוך את טבלאות הציר שלך לאוטומטיות ב-Excel וליצור אותן בלחיצה אחת? MS Excel משתלב היטב עם VBA והפך לכלי מצוין לאוטומציה של משימות שחוזרות על עצמן.
כך תוכל להפוך טבלת ציר לאוטומטית עם מאקרו ב- MS Excel VBA.
השתמש במערך נתונים של תרגול
אתה יכול להוריד ולהשתמש בדמה מערך נתונים מ-Tableau לעקוב אחר סקריפט VBA במדריך זה. קוד VBA יעבוד עם כל מערך נתונים אחר, עם כמה שינויים בסיסיים. לפני שתתחיל, וודא שיש לך פקודות מאקרו מופעלות בחוברת העבודה של Excel.
יש כמה עמודות חיוניות שבהן תוכל להשתמש בטבלת הציר. כדי להבין את הניואנסים והמבנה הסופי של הטבלה, אתה יכול צור טבלת ציר בסיסית באופן ידני עם האלמנטים הבאים:
- לְסַנֵן: אזור
- שורות: קטגוריית משנה
- עמודות: מדינה
- ערכים: מכירות
ציר הקצה צריך להיראות כך:
עם זאת, אתה יכול לתת ל-VBA לעשות זאת באופן אוטומטי במקום להכין אותו באופן ידני.
כיצד ליצור באופן אוטומטי טבלאות Pivot ב- Excel
כדי להפוך את טבלאות הציר שלך לאוטומטיות עם VBA, פתח קובץ Excel חדש ושנה את שמות הגיליונות באופן הבא:
- גיליון ראשון: מאקרו
- גיליון שני: נתונים
ה מאקרו הגיליון מכיל את סקריפט המאקרו, בעוד ש- נתונים הגיליון מכיל את הנתונים שלך. בגיליון המאקרו, אתה יכול להוסיף כל צורה שתבחר ולהקצות לה את המאקרו. לחץ לחיצה ימנית על הצורה ולחץ על הקצה מאקרו.
בתיבת הדו-שיח הבאה, לחץ על שם המאקרו שלך ולחץ על אישור. שלב זה מקצה את המאקרו לצורה.
1. פתח את עורך הקידוד של Excel VBA
ללחוץ Alt + F11 כדי לפתוח את עורך הקוד. ברגע שאתה נמצא בעורך הקוד, לחץ באמצעות לחצן העכבר הימני על שם הקובץ, ואחריו לְהַכנִיס ו מודול. חשוב לזכור שתכתוב את כל קוד ה-VBA בתוך מודול לפני ביצועו.
זה נוהג טוב להשתמש בשם מודול המהדהד עם מטרת הקוד. מכיוון שמדובר בהדגמה, אתה יכול להגדיר את שם המודול באופן הבא:
sub pivot_demo()
שם המודול מסתיים ב סיום משנה, שהיא פקודת הסיום של מודול:
סוֹף תַת
2. הצהר על משתנים
בתוך המודול, התחל בהכרזה על משתנים כדי לאחסן כמה ערכים המוגדרים על ידי המשתמש שבהם תשתמש בסקריפט. אתה יכול להשתמש ב עָמוּם הצהרה להכרזת משתנים, כדלקמן:
PSheet עמום כפי ש גיליון עבודה, DSheet כפי ש גיליון
עמום PvtCache כפי ש PivotCache
Dim PvtTable כפי ש טבלת ציר
Dim PvtRange כפי ש טווח
עמום Last_Row כפי ש ארוך, אחרון_קול כפי ש ארוך
עמום sht1 כפי ש גִרְסָה אַחֶרֶת
אתה תשתמש במשתנים אלה עבור הדברים הבאים:
- גיליון PS: גיליון היעד, שבו VBA תיצור ציר.
- גיליון DS: גיליון הנתונים.
- PvtCache: מטמון ציר מחזיק את הציר.
- PvtTable: אובייקט טבלת הציר.
- PvtRange: טווח נתונים עבור הציר.
- Last_Row ו-Last_Col: שורה ועמודה שאוכלסו אחרונים בגיליון הנתונים (DSheet).
- Sht1: משתנה זה הוא וריאנט.
3. דיכוי אזהרות והודעות
שגיאות, אזהרות והודעות מיותרות מאטים את קודי ה-VBA שלך. על ידי דיכוי הודעות כאלה, אתה יכול להאיץ את התהליך במידה ניכרת.
השתמש בקוד הבא:
עַל שְׁגִיאָה המשך הבא
עם יישום
.DisplayAlerts = שֶׁקֶר
.ScreenUpdating = שֶׁקֶר
סוֹףעם
איפה:
- בשגיאה המשך: סעיף זה מדכא שגיאות בזמן ריצה.
- יישום: יישום מתייחס ל- MS Excel.
- DisplayAlerts: המאפיין DisplayAlerts מגדיר אם להציג התראות.
- עדכון מסך: מאפיין זה מגדיר אם לעדכן שינויים בזמן אמת או רק לאחר שהקוד סיים לפעול.
כאשר קוד זה פועל, הוא מדכא את כל ההתראות, האזהרות וההודעות ש-Excel היה מציג אחרת. אתה יכול לכבות את הפרמטרים של DisplayAlerts ו-ScreenUpdating על ידי הגדרת הערכים שלהם ל שֶׁקֶר.
לקראת סוף הקוד, תוכל להפעיל אותם שוב על ידי הגדרת הערך כ נָכוֹן.
4. מחק כל גיליונות Pivot קיימים
כדי ליצור טבלת ציר חדשה, יש לך שתי אפשרויות. ראשית, מחק את גיליון הציר הקיים והשתמש ב-VBA כדי ליצור גיליון חדש לאחסון הציר. לחלופין, אתה יכול להשתמש בגליון עבודה קיים כדי להחזיק את הציר.
במדריך זה, בואו ניצור גיליון ציר חדש לאחסון טבלת הציר.
ה לכל אחד לולאה עוברת דרך כל גיליון בחוברת העבודה ומאחסנת את שם הגיליון בתוך sht1 מִשְׁתַנֶה. אתה יכול להשתמש בכל שם משתנה (sht1) כדי להחזיק את שם הגיליון. הלולאה עוברת דרך כל גיליון בחוברת העבודה הנוכחית, מחפשת אחד עם השם הספציפי (צִיר).
כאשר שם הגיליון תואם, הוא מוחק את הגיליון ועובר לגיליון הבא. ברגע שהקוד בודק את כל הגיליונות, הוא יוצא מהלולאה ועובר לחלק הבא של הקוד, שמוסיף גיליון חדש, צִיר.
כך תוכל לעשות זאת:
לכל אחדsht1בActiveWorkbook.דפי עבודה
אם sht1.Name = "צִיר" לאחר מכן
sht1.לִמְחוֹק
סוֹףאם
הבא sht1
דפי עבודה. לְהוֹסִיף. שם = "צִיר"
5. הגדר מקור נתונים וגיליונות Pivot
חיוני ליצור משתנים לאחסון הפניות של גיליונות Pivot ו-Data. אלה פועלים כקיצורי דרך, שאליהם אתה יכול להתייחס לאורך שאר הקוד.
הגדר PSheet = גליונות עבודה("צִיר")
הגדר DSheet = גליונות עבודה("נתונים")
6. זהה את השורה והעמודה האחרונים בשימוש
חלק זה של הקוד עובד בצורה דינמית, מכיוון שהוא מגדיל את השורה והעמודה המאוכלסים האחרונים בתוך הנתונים.
Last_Row = DSheet. תאים (שורות. ספירה, 1). סוף (xlUp). שורה
Last_Col = DSheet. תאים (1, עמודות. ספירה).End (xlToLeft).עמודה
מַעֲרֶכֶת PvtRange = DSheet. תאים(1, 1).שנה גודל (Last_Row, Last_Col)
איפה:
- Last_Row: משתנה לאחסון מספר השורה האחרון המאוכלס, כלומר 9995
- אחרון_קול: משתנה לאחסון מספר העמודה האחרון המאוכלס, כלומר 21
- PvtRange: PvtRange מתייחס לכל טווח הנתונים עבור הציר
7. צור מטמון Pivot ו- Pivot Table
מטמון ציר מחזיק את טבלת הציר; לכן, עליך ליצור מטמון לפני יצירת טבלת ציר. עליך להשתמש בהפניות התחביר של VBA כדי ליצור את המטמון Pivot בתוך גיליון Pivot.
על ידי הפניה למטמון הציר, עליך ליצור טבלת ציר. כחלק מטבלת הציר, אתה יכול להגדיר את הגיליון, את הפניה לתא ואת השם של טבלת הציר.
הגדר PvtCache = ActiveWorkbook. PivotCaches. צור (SourceType:=xlDatabase, SourceData:=PvtRange).CreatePivotTable (TableDestination:=PSheet. תאים (2, 2), TableName:="MUODEmoTable")
הגדר PvtTable = PvtCache. CreatePivotTable (TableDestination:=PSheet. תאים (1, 1), TableName:="MUODEmoTable")
איפה:
- ActiveWorkbook: חוברת העבודה הנוכחית שבה יש לך את גיליון הנתונים והצירים.
- PivotCaches. לִיצוֹר: תחביר ברירת מחדל ליצירת מטמון ציר.
- סוג מקור: מכיוון שיש לך את הנתונים בחוברת העבודה, אתה יכול להגדיר אותם כ xlDatabase. כמה אפשרויות אחרות כוללות xlConsolidation, xl חיצוני, או xlPivotTable.
- מקור מידע: אתה יכול להתייחס לטווח הציר הקודם כנתוני המקור.
- CreatePivotTable: פקודת ברירת מחדל ליצירת טבלת הציר.
- יעד שולחן: עליך לציין את הפניות הגיליון והתא שבו ברצונך ליצור את הציר.
- שם שולחן: ציין שם של טבלת ציר.
- CreatePivotTable: פקודת ברירת מחדל ליצירת טבלת הציר בתוך מטמון הציר.
8. הוסף שורות, עמודות, מסננים וערכים
מכיוון שטבלת הציר מוכנה, עליך להתחיל להוסיף את הפרמטרים בתוך המסננים, השורות, העמודות וערכי הצבירה. אתה יכול להשתמש ב-VBA שדות ציר פקודה להתחיל להכריז על הפרטים.
כדי להוסיף ערכי מסנן:
עם ActiveSheet. PivotTables("MUODEmoTable").PivotFields("אזור")
.Orientation = xlPageField
סוֹףעם
כדי להוסיף ערכי שורה:
עם ActiveSheet. PivotTables("MUODEmoTable").PivotFields("קטגוריית משנה")
.Orientation = xlRowField
סוֹףעם
כדי להוסיף ערכי עמודות:
עם ActiveSheet. PivotTables("MUODEmoTable").PivotFields("מדינה")
.Orientation = xlColumnField
סוֹףעם
כדי להוסיף ערכי צבירה:
עם ActiveSheet. PivotTables("MUODEmoTable").PivotFields("מכירות")
.Orientation = xlDataField
.פוּנקצִיָה = xlSum
סוֹףעם
חשוב לציין שעליך להפנות לגיליון הפעיל (גיליון Pivot), ואחריו שם טבלת הציר ושם המשתנה. כאשר אתה צריך להוסיף את המסננים, השורות והעמודות, אתה יכול לעבור בין תחבירים שונים, הכוללים את הדברים הבאים:
- xlPageField: כדי להוסיף מסננים.
- xlRowField: כדי להוסיף שורות.
- xlRowField: כדי להוסיף עמודות.
לבסוף, אתה יכול להשתמש ב xlDataField פקודה לחישוב צבירות הערך. אתה יכול להשתמש בפונקציות מצטברות אחרות כמו xlSum, xlAverage, xlCount, xlMax, xlMin ו-xlProduct.
9. הפעלת קוד VBA של Excel ליצירת צירים אוטומטיים
לבסוף, כאשר התוכנית כולה מוכנה, תוכל להפעיל אותה על ידי לחיצה F5 או לחיצה על לְשַׂחֵק לַחְצָן. כאשר תחזור לגיליון Pivot בחוברת העבודה שלך, תראה שטבלת ציר חדשה מוכנה לסקירה.
אם ברצונך לראות ביצוע שלב אחר שלב של אופן הפעולה של פקודת הקוד שורה אחר שורה, תוכל לנווט אל עורך הקוד וללחוץ F8 מספר פעמים. בדרך זו, אתה יכול לראות כיצד כל שורת קוד עובדת וכיצד VBA יוצר את הפיבוטים שלך באופן אוטומטי.
ללמוד לקוד טבלאות Pivot באופן אוטומטי
Pivots אינם מוגבלים ל- MS Excel בלבד. שפות תכנות כמו Python מאפשרות לך ליצור פיבוטים מותאמים עם כמה שורות קוד בלבד.
אופטימיזציה של נתונים לא יכולה להיות קלה מזה. אתה יכול לבחור ולבחור ביעילות את הפקודות שלך ב- Python ולהשיג מבנה ציר דומה דמוי Excel בקלות.