צבע של תרשים מתאי עם הנתונים שלו

ניסוח הבעיה

הייתי רוצה שהעמודות בהיסטוגרמה (או פרוסות בתרשים העוגה וכו') יקבלו אוטומטית את הצבע ששימש למילוי התאים המתאימים בנתוני המקור:

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

אני חושב שהבנתם את הרעיון, נכון?

פתרון

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

Sub SetChartColorsFromDataCells() If TypeName(Selection) <> "ChartArea" Then MsgBox "Сначала выделите диаграмму!" Exit Sub End If Set c = ActiveChart For j = 1 To c.SeriesCollection.Count f = c.SeriesCollection(j).נוסחה m = Split(f, ",") הגדר r = Range(m(2)) עבור i = 1 ל-r.Cells.Count c.SeriesCollection(j).Points(i).Format.Fill.ForeColor.RGB = _ r.Cells(i).Interior.Color Next i Next j End Sub  

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

ולהפעיל את המאקרו שלנו עם הכפתור מאקרו כרטיסייה מפתחים (מפתח - מאקרו) או עם קיצור מקלדת Alt + F8. באותו חלון, במקרה של שימוש תכוף, ניתן להקצות קיצור מקלדת למאקרו באמצעות הכפתור פרמטרים (אפשרויות).

PS

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

  • מהן פקודות מאקרו, כיצד להשתמש בהן, היכן להכניס קוד מאקרו ב-Visual Basic
  • עיצוב מותנה באקסל 2007-2013
  • מה חדש בתרשימים ב-Excel 2013

השאירו תגובה