Lliw siart o gelloedd gyda'i ddata

Ffurfio'r broblem

Hoffwn i'r colofnau ar yr histogram (neu dafelli ar y siart cylch, ac ati) gael y lliw yn awtomatig a ddefnyddiwyd i lenwi'r celloedd cyfatebol â'r data ffynhonnell:

Gan ragweld cri syndod a dicter cymrodyr unigol, dylid nodi, wrth gwrs, y gellir newid lliw llenwad y diagram â llaw hefyd (cliciwch ar y dde ar y golofn - Fformat pwynt/cyfres (Fformatio pwynt data/cyfres) ac ati – does neb yn dadlau. Ond yn ymarferol, mae yna lawer o sefyllfaoedd pan mae'n haws ac yn fwy cyfleus gwneud hyn yn uniongyrchol yn y celloedd â data, ac yna dylid ail-baentio'r siart yn awtomatig. Ceisiwch, er enghraifft, osod y llenwad fesul rhanbarth ar gyfer y colofnau yn y siart hwn:

Rwy'n credu eich bod chi'n cael y syniad, iawn?

Ateb

Ni all dim byd ond macro wneud hyn. Felly, rydym yn agor Golygydd Visual Basic o'r tab datblygwr (Datblygwr - Golygydd Sylfaenol Gweledol) neu gwasgwch y llwybr byr bysellfwrdd Alt + F11, mewnosod modiwl gwag newydd drwy'r ddewislen Mewnosod – Modiwl a chopïo testun macro o'r fath yno, a fydd yn gwneud yr holl waith:

Is-SetChartColorsFromDataCells() Os MathName(Detholiad) <> "ChartArea" Yna MsgBox "Сначала выделите диаграмму!" Gadael Is-Ddiwedd Os Gosodir c = Siart Actif Ar gyfer j = 1 I c.SeriesCollection.Count f = c.SeriesCollection(j).Fformiwla m = Hollti(f, ",") Gosod r = Ystod(m(2)) Ar gyfer i = 1 I r.Cells.Count c.SeriesCollection(j).Pwyntiau(i).Fformat.Fill.ForeColor.RGB = _ r.Cells(i).Tu Mewn.Lliw Nesaf i Nesaf j Diwedd Is  

Nawr gallwch chi gau Visual Basic a dychwelyd i Excel. Mae defnyddio'r macro a grëwyd yn syml iawn. Dewiswch y siart (ardal siart, nid ardal plot, grid neu golofnau!):

a rhedeg ein macro gyda'r botwm Macros tab datblygwr (Datblygwr - Macros) neu gyda llwybr byr bysellfwrdd Alt + F8. Yn yr un ffenestr, rhag ofn y caiff ei ddefnyddio'n aml, gallwch chi neilltuo llwybr byr bysellfwrdd i'r macro gan ddefnyddio'r botwm paramedrau (Dewisiadau).

PS

Yr unig hedfan yn yr eli yw'r amhosibl o ddefnyddio swyddogaeth debyg ar gyfer achosion lle mae'r lliw yn cael ei neilltuo i gelloedd y data ffynhonnell gan ddefnyddio rheolau fformatio amodol. Yn anffodus, nid oes gan Visual Basic offeryn adeiledig ar gyfer darllen y lliwiau hyn. Mae yna, wrth gwrs, rai “baglau”, ond nid ydynt yn gweithio ym mhob achos ac nid ym mhob fersiwn.

  • Beth yw macros, sut i'w defnyddio, ble i fewnosod cod macro yn Visual Basic
  • Fformatio Amodol yn Excel 2007-2013
  • Beth sy'n Newydd mewn Siartiau yn Excel 2013

Gadael ymateb