Culoarea unei diagrame din celule cu datele sale

Formularea problemei

Aș dori ca coloanele de pe histogramă (sau feliile de pe diagrama circulară etc.) să aibă automat culoarea care a fost folosită pentru a umple celulele corespunzătoare cu datele sursă:

Anticipând strigătele surprinse și indignate ale camarazilor individuali, trebuie menționat că, desigur, culoarea umplerii diagramei poate fi schimbată și manual (clic dreapta pe coloană – Format punct/serie (Formatarea punctului/seriei de date) etc. – nimeni nu se ceartă. Dar, în practică, există o mulțime de situații în care este mai ușor și mai convenabil să faci acest lucru direct în celulele cu date, iar apoi diagrama ar trebui să fie revopsită automat. Încercați, de exemplu, să setați umplerea după regiune pentru coloanele din acest grafic:

Cred că ai înțeles ideea, nu?

Soluţie

Nimic în afară de o macrocomandă poate face asta. Prin urmare, deschidem Editor Visual Basic din filă dezvoltator (Dezvoltator — Editor Visual Basic) sau apăsați comanda rapidă de la tastatură Alt + F11, introduceți un nou modul gol prin meniu Inserare – Modul și copiați acolo textul unei astfel de macrocomenzi, care va face toată treaba:

Sub SetChartColorsFromDataCells() If TypeName(Selection) <> "ChartArea" Then MsgBox "Сначала выделите диаграмму!" Ieșire Sub End Dacă Set c = ActiveChart Pentru j = 1 La c.SeriesCollection.Count f = c.SeriesCollection(j).Formula m = Split(f, ",") Set r = Range(m(2)) Pentru i = 1 To r.Cells.Count c.SeriesCollection(j).Points(i).Format.Fill.ForeColor.RGB = _ r.Cells(i).Interior.Color Next i Next j End Sub  

Acum puteți închide Visual Basic și puteți reveni la Excel. Utilizarea macrocomenzii create este foarte simplă. Selectați diagrama (zona diagramei, nu zona diagramei, grilă sau coloane!):

și rulați macro-ul nostru cu butonul Macrocomenzi fila dezvoltator (Dezvoltator – Macrocomenzi) sau cu o comandă rapidă de la tastatură Alt + F8. În aceeași fereastră, în cazul utilizării frecvente, puteți aloca macrocomandă rapidă de la tastatură folosind butonul parametrii (Opțiuni).

PS

Singura muscă din unguent este imposibilitatea utilizării unei funcții similare pentru cazurile în care culoarea este atribuită celulelor datelor sursă folosind reguli de formatare condiționată. Din păcate, Visual Basic nu are un instrument încorporat pentru citirea acestor culori. Există, desigur, anumite „cârje”, dar nu funcționează pentru toate cazurile și nu în toate versiunile.

  • Ce sunt macrocomenzile, cum să le folosiți, unde să introduceți codul macro în Visual Basic
  • Formatare condiționată în Excel 2007-2013
  • Ce este nou în diagrame în Excel 2013

Lasă un comentariu