< návrat zpět

MS Excel


Téma: Excel - Změna zobr. osy v plošném 3d grafu (VBA) rss

Zaslal/a 9.2.2013 0:25

Zdravím,
mám takový problém ohledně prostorového plošného grafu v excelu (xlsx, Excel 2010).
Mám matici čísel a z nich
sestrojený tento typ grafu. Excel používá lineární rozložení svislé osy a následně legendy. Potřeboval bych ovšem jiné barevné rozložení svislé osy než automatické. Např. aby modrá byla od 60 do 80, zelená od 80 do 95 atd..tzn. že by vzniklo jiné rozložení na svislé ose a legenda by se změnila. Bohužel sám excel toto nepodporuje, ale myslím si , že by to šlo ve VBA (přes vložení makra) dopsat. Kdyby někdo věděl jak na to či věděl kód, budu velmi vděčný, ztratil sem stim už dost času :-/. Testovací excel dávám do přílohy, kdyby někdo tušil. Ten můj originál je stejně dělaný jen má mnohem větší množství hodnot.
Ideální by byl kód ve VBA, v kterém bych si potom mohl ty vymezující oblasti měnit pro různé grafy.

Graf vypadá následovně
http://img221.imageshack.us/img221/3189/3dgraf.png

a jde o tu svislou osu .. definice barvy pro určité rozmezí hodnot.

Děkuji moc za případnou odezvu.

Příloha: zip11546_priklad_grafu.zip (56kB, staženo 13x)
Zaslat odpověď >

icon #011664
avatar
Ahoj, dá sa to vyriešiť i manuálne, klikom do legendy a následným klikom na určitú položku v legende, ktorým ju vyberieš. Klikom pravým tlačítkom vyberieš z kontextového menu formátovanie a zvolíš si farbu, v grafe sa to potom prekreslí. Pokiaľ ale chceš jeden odtieň pre 60-80 a iný pre 80-95, budeš musieť nataviť hlavnú jednotku osy na 5, tým pádom Ti do legendy pribudnú položky, štyrom pre rozsah 60-80 priradíš jednu farbu a trom pre rozsah 80-95 farbu inú, atď. Legendu z grafu môžeš následne odstrániť, prípadne miesto nej vložiť odrázok legendy pôvodnej, prípadne si nejaký popisok (legendu) do grafu dotvoriť ručne. Trochu opruz, ale toto je jediné non-VBA riešenie, ktoré ma napadá.

čerpal som z tohoto textu:
The only way to format the colors of a range of data in a surface chart is through the legend. It takes one click to select the legend, a second to select the small colored square, and then a double click to access the Format Legend Key dialog (this is a good time to use CTRL-1). This is one way to format a series in a more conventional chart, but it's the only way to format the data colors in a surface chart.

Link na zdroj: http://pubs.logicalexpressions.com/Pub0009/LPMArticle.asp?ID=447

Pokiaľ by si chcel VBA, tak si uprav nasledujúci kód (mení farbu u počtu položiek v legende, ktorý si riadiš cez premennú i v kóde:

Sub Test()
Dim C As Chart
Dim i As Long, Max As Long
Dim Red As Integer, Blue As Integer
Set C = ActiveSheet.ChartObjects("Graf 1").Chart
With C.Legend
Max = .LegendEntries.Count 'použi prípadne v cykle, v tento moment to kód nepoužíva
For i = 1 To 4 'pohraj si s indexom a farbičkami pre jednotlivé rozsahy
Red = 220
Blue = 0
.LegendEntries(i).LegendKey.Interior.Color = RGB(Red, 0, Blue)
Next
End With
End Sub
citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje