Just nu i M3-nätverket
Gå till innehåll

Diagram som utökas automatiskt


pege22

Rekommendera Poster

Hej

 

Jag har ett linjediagram som visar en utveckling över tid. Källdatan fylls på automatiskt med nya värden vartefter tiden går, rättare sagt varje månad kommer det in nya värden. Hur gör jag för att diagrammet ska utökas automatiskt med tiden. Om jag i diagraminställningarna anger ett långt spann fram i tiden så kommer det bli en massa tomma värden i diagrammet och det ser inget bra ut. Förstår ni vad jag menar? Tacksam för hjälp, för jag inser nu att jag i princip inte ka någonting om Diagram, varken ur ett Excel eller VBA-perspektiv;)

 

 

 

Länk till kommentar
Dela på andra webbplatser

Ta en tiit i denna tråd:

//eforum.idg.se/viewmsg.asp?EntriesId=662697

där jag frågade samam sak för en tid sedan.

 

Lösningen är enkel (?!?) och elegant:

Likt du kan skapa namngivna områden kan du skapa namngivna formler i excel!

Skapa en formel som returenar det område du vill att grafen ska arbeta med och ge denna ett namn. Sedan kan du nyttja detta namn i uppställningen av grafen..

 

Läs tråden jag länkat till så kanske det klarnar för dig.

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Ett sätt är att låta original dataområdet omfatta en (1) tom extra rad. När nya data skall infogas markerar du hela denna rad och väljer Infoga Rad.

Då infogas automatisk motsvarande område i diagrammet, dvs. du ser två tomma rader i diagrammet tills du skrivit in data.

Om du inte vill ha ens en tom rad kan du alltid markera hela sista raden och välja kopiera, sedan väljer du första cellen i sista raden och Infoga Rad. Nu har du dubbla identiska sista rader, och dubbla data i diagrammet, och du behöver bara uppdatera data på sista raden.

 

Detta beteende är generellt i Excel, så i alla sammanhang där det är möjligt är det bättre att infoga en rad i det ursprungliga området som sedan fylls med data än att skriva till datat och efteråt anpassa all kopplingar till området.

 

/Pär B

 

Länk till kommentar
Dela på andra webbplatser

Inte nog med att jag var försent ute, min lösning var dessutom sämre.

 

Testade att ha en cell i kalkylbladet som räknade antal rader data (=ANTAL.OM(A:A;>0)), och använde den för att skapa namn-formler som kunde användas i diagrammet.

Klockrent!

 

/Pär B

 

Länk till kommentar
Dela på andra webbplatser

men den lösning du gav är den enkla och självklara....

 

tänkte inte på den enkla vägen.

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Hej

 

Tack för tipsen. De blir mycket poäng när det här är färdigt. Jag har skapat namngivna områden som utgår från från förskjutningsformel, som i sin tur utgår från dagens datum. Den saken är lugn.

 

Problemet är bara att när jag ska skriva in källdataområdena i dialogrutan för att skapa diagrammet, så godtar den referens jag skriver in.

 

Eller rättare sagt, det fungerar när jag skriver in under fliken Dataområde i steg 2 i Diagramguiden, men där kan man ju bara skriva in en referens. Jag behöver skriva in flera referenser, vilket jag är van att göra under fliken Serie. Där vill jag skriva in dessa referenser:

 

=e1:Norr

 

=f1:Öst

 

=g1:Väst

 

=h1:Syd

 

=i1:Total

 

och under etiketter för kategoriaxel (X) vill jag skriva in

 

=k1:Etikett

 

Norr, Öst, Väst, Syd, Total och Etikett är namngivna områden som det tex går att använda i en summa-formel ute i kalkylbladet. Jag vete tusan varför jag får ett felmeddelande när jag ska skriva i Diagramguiden.

 

Felmeddelandet jag får är att formeln är ogiltig. Skriver jag på fel sätt?

[inlägget ändrat 2005-02-25 16:28:36 av pege22]

Länk till kommentar
Dela på andra webbplatser

mmh, ja det där fungerar inte.

 

Det är lite kinkigt vad som godtas i diagram, men en sak är säker - de fälten klarar ej av att validera formler.

 

Som sagts, enklast är om du skapar diagrammet som vanligt, med cellreferenser. Sedan när nya data kommer till så infogar du dessa inom det för grafen redan definierade området. Då utökas grafen dataområde automatiskt.

 

Alternativt kan man skapa formler med namn som returnerar en referens som är det område diagrammet ska arbeta med. Dessa formler är den en liten konst att få till. Tar en titt på det arbetsblad jag har något liknande på....

 

eller - vänta, denna fil ligger kvar på webben sedan senast;

http://web.telia.com/~u87639880/Dynamisk_graf-1.xls

 

I den finns en listbox som styr grafen. Listboxen skriver sitt index/värde till en cell på bladet. Sedan finns det fyra definierade namn som är formler som returnerar en referens.

Ta dig en titt. Det är liten tröskel att förstå hur det fungerar, men det är egentligen inte så svårt.

 

Namnen nyttjas sedan som källdata för diagrammet.

 

Principen som arket bygger på går säkert att applicera på ditt ark, bara att istället för en listbox som ger värden har du några platser på arket eller formler som ger platser på arket. MEN som sagt, kanske detta är lite onödigt, om det bara är att infoga celler kan det kanske vara enklare även om det ovan är väldigt smidigt när det väl fungerar.

 

Fråga på om det är något jag missat att klargöra.

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

 

[inlägget ändrat 2005-02-25 17:59:12 av Monshi]

Länk till kommentar
Dela på andra webbplatser

Prova att bygga diagrammet på vanligt sätt först för att sedan ersätta de fasta referenserna med de namngivna.

 

/Pär B

 

Länk till kommentar
Dela på andra webbplatser

När jag testar det så fungerar det inte.

 

Diagram verkar inte gilla namngivna områden.

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Hej

 

Jag har byggt diagrammet på vanligt sätt, det funkar finfint. Jag ska prova att ersätta med namnen.

 

Jag har provat (och fått inspiration) från Dynamisk_graf-1.xls men grejen är att där består diagrammet av en sammanhållen dataserie.

 

Jag ska testa vidare.

 

Länk till kommentar
Dela på andra webbplatser

mmmh, kanske du ska ge oss din problembeskrivning igen?

 

Kanske vi missat något och skjuter över målet?

 

Är inte dina områden sammanahängande? En beskrivning.

Och du, ett tips:

Experimentera på en liten datamängd, bara några delar av det slutgitliga diagrammets område. Mycket lättare att hantera och felsöka.

 

Ge oss ett exempel på vilka dataområden det kan gälla. Om det behövs en formel för att beräkna fram dessa kanske jag kan hjälpa. Kanske.

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Nu har jag testat det mesta.

Det går att skapa ett dynamiskt diagram genom namngivna Förskjutningsformler, men inte med genom att ange dataområden som:

=B1:B_slut även om B_slut är ett giltigt namn som genom en förskjutningsformel pekar på sista cellen i kolumnen.

 

Exempel:

Om datat ligger i kolumnerna B, C och E med X-axel data i A så kan man antingen i en cell på bladet eller som ett namn räkna antal datarader med =ANTAL.OM(A:A;">0").

De dynamiska namnen definieras som:

=FÖRSKJUTNING([blad]![Första cell];0;0;Radräknare;1) där Radräknare antingen är ett namn eller pekar på cellen med formeln.

I diagrammet blir referensen som skall läggas in =[bok]![Namn].

 

Jag har ingen websida där jag kan lägga upp ett exempel, men skickar det gärna om du vill.

 

/Pär B

 

Länk till kommentar
Dela på andra webbplatser

Ahh, äntligen funkar det! Det värsta är att jag efter era första tips var på rätt spår hela tiden, men den j!?!?vla Diagramguiden var så otroligt kinkig om vilken syntax den krävde. Hade aldrig gått utan PerboMans exempelfil där jag kunde se vilken syntax som krävdes.

 

Tack alla som engagerat sig!

 

 

Några lärdomar:

 

Använd absoluta referenser när du skapar Namn, annars håller Excel på och ändrar dem hej vilt

 

Ange alltid referens med bladhänvisning när du skriver i Diagramguiden, tex blad1!a1:a20

[inlägget ändrat 2005-02-28 16:19:03 av pege22]

Länk till kommentar
Dela på andra webbplatser

Hej,

 

Ursäkta mig om jag har missat problematiken (har inte följt tråden i detalj), men ...

De dynamiska namnen definieras som:

=FÖRSKJUTNING([blad]![Första cell];0;0;Radräknare;1) där Radräknare antingen är ett namn eller pekar på cellen med formeln.

... det är inget problem att infoga Radräknare i namn-definitionen. Följande konstruktion fungerar, åtminstone för mig:

=FÖRSKJUTNING(Blad1!$A$1;1;0;ANTAL(Blad1!$A:$A);1)

(Exemplet taget från definitionen av "datum" i det ovan nämnda arket "Dynamisk_graf".)

 

mvh

/Johan

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...