Rangi ya chati kutoka kwa seli zilizo na data yake

Uundaji wa shida

Ningependa safu wima kwenye histogramu (au vipande kwenye chati ya pai, n.k.) ziwe na rangi moja kwa moja ambayo ilitumika kujaza seli zinazolingana na data chanzo:

Kutarajia kilio cha kushangaa na cha kukasirika cha wandugu binafsi, ikumbukwe kwamba, kwa kweli, rangi ya kujaza kwenye mchoro pia inaweza kubadilishwa kwa mikono (bonyeza-kulia kwenye safu - Muundo wa pointi/msururu (Fomati ya nukta/msururu wa data) nk - hakuna mtu anayebishana. Lakini katika mazoezi, kuna hali nyingi wakati ni rahisi na rahisi zaidi kufanya hivyo moja kwa moja kwenye seli zilizo na data, na kisha chati inapaswa kupakwa rangi moja kwa moja. Jaribu, kwa mfano, kuweka ujazo kwa eneo kwa safu wima katika chati hii:

Nadhani unapata wazo, sawa?

Suluhisho

Hakuna chochote isipokuwa macro kinachoweza kufanya hivi. Kwa hivyo, tunafungua Mhariri wa Visual Basic kutoka kwa kichupo developer (Msanidi - Kihariri cha Msingi cha Visual) au bonyeza njia ya mkato ya kibodi Alt + F11, ingiza moduli mpya tupu kupitia menyu Ingiza - Moduli na unakili maandishi ya jumla kama hiyo, ambayo itafanya kazi yote:

Sub SetChartColorsFromDataCells() Ikiwa TypeName(Selection) <> "ChartArea" Kisha MsgBox "Сначала выделите диаграмму!" Toka Mwisho Ndogo Ikiwa Umewekwa c = ActiveChart Kwa j = 1 Hadi c.SeriesCollection.Count f = c.SeriesCollection(j).Mfumo m = Split(f, ",") Weka r = Masafa(m(2)) Kwa i = 1 Hadi r.Cells.Hesabu c.SeriesCollection(j).Points(i).Format.Jaza.ForeColor.RGB = _ r.Cells(i).Ndani.Rangi Inayofuata i Inayofuata j Mwisho Sub  

Sasa unaweza kufunga Visual Basic na kurudi kwa Excel. Kutumia macro iliyoundwa ni rahisi sana. Chagua chati (eneo la chati, si eneo la njama, gridi ya taifa au safu wima!):

na endesha macro yetu na kitufe Macros tab developer (Msanidi - Macros) au kwa njia ya mkato ya kibodi Alt + F8. Katika dirisha sawa, katika kesi ya matumizi ya mara kwa mara, unaweza kugawa njia ya mkato ya kibodi kwa macro kwa kutumia kifungo vigezo (Chaguzi).

PS

Nzi pekee katika marashi ni kutowezekana kwa kutumia kazi sawa kwa kesi ambapo rangi hupewa seli za data ya chanzo kwa kutumia sheria za uundaji wa masharti. Kwa bahati mbaya, Visual Basic haina zana iliyojengewa ndani ya kusoma rangi hizi. Kuna, kwa kweli, "magongo" fulani, lakini hayafanyi kazi kwa visa vyote na sio katika matoleo yote.

  • Macros ni nini, jinsi ya kuzitumia, wapi kuingiza msimbo wa jumla katika Visual Basic
  • Uumbizaji wa Masharti katika Excel 2007-2013
  • Nini Kipya katika Chati katika Excel 2013

Acha Reply