Barva grafikona iz celic z njegovimi podatki

Formulacija problema

Želel bi, da imajo stolpci na histogramu (ali rezine na tortnem grafikonu itd.) samodejno barvo, ki je bila uporabljena za zapolnitev ustreznih celic z izvornimi podatki:

V pričakovanju presenečenih in ogorčenih vzklikov posameznih tovarišev je treba opozoriti, da je seveda mogoče barvo polnila v diagramu spremeniti tudi ročno (desni klik na stolpec – Oblika točke/serije (Oblika podatkovne točke/serije) itd. – nihče ne trdi. Toda v praksi obstaja veliko situacij, ko je to lažje in bolj priročno narediti neposredno v celicah s podatki, nato pa je treba grafikon samodejno prebarvati. Poskusite na primer nastaviti polnjenje po regijah za stolpce v tem grafikonu:

Mislim, da razumeš idejo, kajne?

Rešitev

Tega ne more storiti nič drugega kot makro. Zato odpiramo Urejevalnik Visual Basic iz zavihka razvijalec (Razvijalec — urejevalnik Visual Basic) ali pritisnite bližnjico na tipkovnici Alt + F11, skozi meni vstavite nov prazen modul Vstavi – Modul in tja kopirajte besedilo takšnega makra, ki bo opravil vse delo:

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).Formula m = Split(f, ",") Set r = Range(m(2)) For i = 1 Za r.Cells.Count c.SeriesCollection(j).Points(i).Format.Fill.ForeColor.RGB = _ r.Cells(i).Interior.Color Next i Next j End Sub  

Zdaj lahko zaprete Visual Basic in se vrnete v Excel. Uporaba ustvarjenega makra je zelo preprosta. Izberite grafikon (območje grafikona, ne območja izrisa, mreže ali stolpcev!):

in zaženite naš makro z gumbom Makri tab razvijalec (Razvijalec — Makri) ali z bližnjico na tipkovnici Alt + F8. V istem oknu lahko v primeru pogoste uporabe makru dodelite bližnjico na tipkovnici z gumbom parametri (Opcije).

PS

Edina muha v manikuri je nezmožnost uporabe podobne funkcije za primere, ko je barva celicam izvornih podatkov dodeljena s pravili pogojnega oblikovanja. Na žalost Visual Basic nima vgrajenega orodja za branje teh barv. Seveda obstajajo določene "bergle", vendar ne delujejo v vseh primerih in ne v vseh različicah.

  • Kaj so makri, kako jih uporabljati, kam vstaviti kodo makra v Visual Basicu
  • Pogojno oblikovanje v Excelu 2007-2013
  • Kaj je novega v grafikonih v Excelu 2013

Pustite Odgovori