Excel a automatická změna zdrojovýc dat pro graf
Ahoj, mám tu takovej "menší" problém s grafem v Excelu. Mám 2 listy z nichž jeden obsahuje data a druhý graf. Jsou dělané po měsících a jmenují se "měsíc-detaily" a "měsíc-graf". Když si zkopíruju oba listy a přejmenuju je na nový měsíc, tak odkazy v buňkách se přizpůsobí automaticky ale zdrojová data grafu stále odkazují na starý měsíc a já musím řadu po řadě ručně přepisovat. Na graf funkce najít/nahradit nefunguje. Existuje nějaká možnost (třeba VBA), která by mi automaticky upravila zdrojová data podle mých potřeb?? Těch řad v grafu totiž narůstá každým měsícem a ručně to přepisovat je fakt peklo...
Re: Excel a automatická změna zdrojovýc dat pro graf
Ahoj, ano, řešit se to dá například takto:
Kód:
Sub Nahradit()
Dim Puvodni, Novy As String
Puvodni = InputBox("Zadejte nazev puvodniho listu:")
Novy = InputBox("Zadejte nazev noveho listu:")
Dim i, PocetGrafu As Integer
Dim sValueString, sNahrazovany, sNahrada As String
Dim Rada As Series
PocetGrafu = 0
PocetGrafu = ActiveSheet.ChartObjects.Count
For i = 1 To PocetGrafu
ActiveSheet.ChartObjects(i).Activate
For Each Rada In ActiveChart.SeriesCollection
sNahrazovany = Puvodni & "!"
sNahrada = Novy & "!"
sValueString = Replace(Rada.Formula, sNahrazovany, sNahrada)
Rada.Formula = sValueString
Next
Next i
End Sub
Toto makro když spustíš na novém "grafovém" listu a zadáš mu název původního a nového "zdrojového listu dat", projde všechny grafy a ve všech řadách by mělo nahradit výskyt starého názvu listu novým.
Re: Excel a automatická změna zdrojovýc dat pro graf
Tak jsem to tam vložil, ale nefunguje to.. :( S makrama sice "nějak" pracuju, ale graf jsem s nima ještě neupravoval, jen buňky.
Pro lepší přehled jsem dal na web ukázku tabulky s minulým měsícem a nakopírovaným novým měsícem před změnou grafu. Za každou radu budu happy. :)
Re: Excel a automatická změna zdrojovýc dat pro graf
Takže, dvě věci:
a) Je dobrý vytvořit modul (Alt+F11 se dostaneš do VBA, Vložit - Modul / Insert - Module) a dát to do něj, ne do kódu konkrétního listu (je to spíš z důvodu přehlednosti, tady by to funkčně bylo taky použitelný)
b) Z mně neznámého důvodu to cpe do názvů listů apostrofy (což mně na 2007ce nedělalo - nemám teď čas zjišťovat, jestli je to skutečně verzí excelu nebo čím), takže nezafungovalo to "složení" s vykřičníkem (aby to udělalo "Nazev_listu!", takže uprav kód následovně:
Kód:
sNahrazovany = Puvodni
sNahrada = Novy
Takhle už to prošlo v cajku...
EDIT: Tu "opičárnu" s přilepováním vykřičníku jsem tam dělal veskrze jen proto, aby bylo jistý, že už jde o celej název listu, když koukám na ten tvar názvů listů, mělo by to být jedno. A mělo by zafungovat samozřejmě dát jen jako "starej" September a jako "novej" October, nahradí to odpovídající substringy v grafech.
Ad grafy ve VBA - no já to dřív taky nedělal, musel jsem až měsíc a půl zpátky a zpočátku to byla opravdu "legrace", ale není to takovej děs ;-)
Re: Excel a automatická změna zdrojovýc dat pro graf
ano - VBA u aplikaci ma tu vyhodu, ze si tam clovek do makra zaznamena co che udelat a pak to edituje. To je obrovsky prinos k zrychlenemu "vyvoji".
Re: Excel a automatická změna zdrojovýc dat pro graf
Perfect! Už to funguje jak má a mě vědění o VBA se opět posunulo kousek dál.:)) Karma +
Re: Excel a automatická změna zdrojovýc dat pro graf
Citace:
Původně odeslal
pre.vit
Perfect! Už to funguje jak má a mě vědění o VBA se opět posunulo kousek dál.:)) Karma +
Není vůbec zač, jsem rád, že ti to pomohlo ;-)
Citace:
Původně odeslal
Kon
ano - VBA u aplikaci ma tu vyhodu, ze si tam clovek do makra zaznamena co che udelat a pak to edituje. To je obrovsky prinos k zrychlenemu "vyvoji".
Ano, sice nevidím moc souvislost se zde řešenou problematikou (zde uvedený kód se mu "záznamníkem maker" opravdu vyprdět nepovede), ale gratuluju ti, že jsi "objevil" featuru, kterou má Excel už hodně dlouho a obšťastnil nás svým dalším lehce mimoňským příspěvkem :-D