Boja grafikona iz ćelija s podacima

Formulacija problema

Želio bih da stupci na histogramu (ili isječci na tortnom grafikonu itd.) automatski imaju boju koja je korištena za ispunjavanje odgovarajućih ćelija izvornim podacima:

Očekujući iznenađene i ogorčene povike pojedinih suboraca, treba napomenuti da se, naravno, boja ispune na dijagramu može promijeniti i ručno (desni klik na stupac – Format točke/serije (Format podatkovne točke/niza) itd. – nitko se ne svađa. Ali u praksi postoji mnogo situacija kada je lakše i praktičnije to učiniti izravno u ćelijama s podacima, a zatim bi se grafikon trebao automatski ponovno obojiti. Pokušajte, na primjer, postaviti ispunu prema regiji za stupce u ovom grafikonu:

Mislim da shvaćate ideju, zar ne?

Riješenje

Ništa osim makronaredbe to ne može učiniti. Stoga, otvaramo Visual Basic editor s kartice razvijač (Razvojni programer — Visual Basic Editor) ili pritisnite tipkovni prečac Alt + F11, umetnite novi prazan modul kroz izbornik Umetak – Modul i tamo kopirajte tekst takve makronaredbe, koja će obaviti sav posao:

Sub SetChartColorsFromDataCells() If TypeName(Selection) <> "ChartArea" Then MsgBox "Snačala vydelite diagramu!" Izlaz Sub End If Postavi c = ActiveChart Za j = 1 Za c.SeriesCollection.Count f = c.SeriesCollection(j).Formula m = Split(f, ",") Postavi r = Range(m(2)) Za 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  

Sada možete zatvoriti Visual Basic i vratiti se u Excel. Korištenje stvorene makronaredbe vrlo je jednostavno. Odaberite grafikon (područje grafikona, ne područje iscrtavanja, rešetku ili stupce!):

i pokrenite naš makro pomoću gumba makronaredbe kartica razvijač (Razvojni programer — Makronaredbe) ili tipkovničkim prečacem Alt + F8. U istom prozoru, u slučaju česte uporabe, makrou možete dodijeliti tipkovni prečac pomoću gumba Parametri (Opcije).

PS

Jedina zasluga je nemogućnost korištenja slične funkcije za slučajeve kada se boja dodjeljuje ćelijama izvornih podataka korištenjem pravila uvjetnog oblikovanja. Nažalost, Visual Basic nema ugrađeni alat za čitanje ovih boja. Postoje, naravno, određene "štake", ali one ne rade u svim slučajevima i ne u svim verzijama.

  • Što su makronaredbe, kako ih koristiti, gdje umetnuti makro kod u Visual Basicu
  • Uvjetno oblikovanje u programu Excel 2007-2013
  • Što je novo u grafikonima u programu Excel 2013

Ostavi odgovor