27. juli 2005 - 19:00Der er
10 kommentarer og 1 løsning
Opdatering af værdier på grafer
Jeg har en masse grafer (søjle- cirkeldiagrammer) hvor jeg har et tilbagevendende problem - Når de data som graferne bygger på laves om ændres søjlerne, men værdierne (dataetiketterne) opdateres ikke! Det betyder at man manuelt skal gå ind og slette dataetiketterne for derefter at tilføje dem igen, hvilket man tit glemmer... Har forsøgt at genberegne hele arket, men det virker heller ikke. Nogle som har haft samme problem og fundet en løsning???
... det er en del af problemet ;-).. De er lavet ved at højreklikke->dataetiketter->vis værdi.. og normalt opdaterer de sig selv, men nogle gange virker det som om at kæden fra cellen til dataetiketten forsvinder, mens den bliver mellem søjlen og cellen.
Men det kunne tyde på at jeg er den eneste som har prøvet det. Tror at jeg har problemet i tre eller fire regneark hvor der i hver ligger 6-20 grafer
Prøv evt. at indsætte denne kode i et af dine regneark, og kør koden og se om det hjælper.
Koden ser på alle datasæt i alle diagrammer, og fjerner visning af dataetiketter og viser dem så med det samme igen (det var i hvert tilfælde tanken, så du må sige til, hvis det ikke virker hos dig).
Sub ResetDataLabels()
For Each Diagram In ThisWorkbook.Charts For Each Datasæt In Diagram.SeriesCollection Datasæt.ApplyDataLabels Type:=xlDataLabelsShowNone, AutoText:=True, LegendKey:=False Datasæt.ApplyDataLabels Type:=xlDataLabelsShowValue, AutoText:=True, LegendKey:=False Next Datasæt Next Diagram
Det kunne være, men man regner ikke med at folk tænker sig så lidt om, at de kunne finde på det, men arket bliver brugt af mange....
Makroen virker desværre ikke, men den ville kunne løse problemet... Hvis det er muligt må den meget gerne kunne kontrollere om der i forvejen er dataetiketter, og kun tilføje på de serier hvor der i forvejen er... opgaven er blevet noget større, så sætter lidt flere point på....
Nedenfor er koden revideret, så den først undersøger om serien har dataetiketter.
Du skriver at makroen ikke virker. Hvad er det, der går galt?
Sub ResetDataLabels()
For Each Diagram In ThisWorkbook.Charts For Each Datasæt In Diagram.SeriesCollection With Datasæt If .HasDataLabels Then .ApplyDataLabels Type:=xlDataLabelsShowNone, AutoText:=True, LegendKey:=False .ApplyDataLabels Type:=xlDataLabelsShowValue, AutoText:=True, LegendKey:=False End If End With Next Datasæt Next Diagram
Ovenstående gælder, hvis du laver separate ark med dine diagrammer. Hvis du kun har grafer inde i arkene kan du bruge:
Sub ResetDataLabels()
For Each Ark In ActiveWorkbook.Sheets For Each Diagram In Ark.ChartObjects For Each Datasæt In Diagram.Chart.SeriesCollection With Datasæt If .HasDataLabels Then .ApplyDataLabels Type:=xlDataLabelsShowNone, AutoText:=True, LegendKey:=False .ApplyDataLabels Type:=xlDataLabelsShowValue, AutoText:=True, LegendKey:=False End If End With Next Datasæt Next Diagram Next Ark
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.