Avatar billede Pantzer Praktikant
09. juni 2009 - 13:37 Der er 8 kommentarer og
1 løsning

Betinget formatering i et diagram

Hej alle eksperter!

Jeg er ved at lave et dynamisk diagram (data er sammenstykket fra en access-database og flyttet over i en tabel ved hjælp af SUMPRODUKT-funktionen), som viser statistik over fordeling af nogle fejl i procent på forskellige personer.
Det er dog forskelligt fra person til person, hvilke fejl de laver og hvor mange de laver.

Nogen af personerne laver ingen fejl i en bestem kategori og denne fejl/kategori skal derfor ikke vises i diagrammet.

Hvordan får jeg de kategorier, som har en værdi på 0% til ikke at fremgå af diagrammet?
Er der en måde hvorpå jeg kan lave en form for betinget formatering, som man ellers kan lave i en tabel?

Jeg har prøvet at lave mit eget brugerdifineret tal i formater dataetikette for at skjule 0'et:
#%;#

Dette virker til dels, da værdien 0 ikke længer er synlig, men selve kategorinavnet og procenttegnet (%) vises stadig.

Arbejder jeg ud fra en helt forkert løsning på problemet, eller er der nogen der kan vise mig hvordan det så kan gøres?

Mvh. Jon
Avatar billede Slettet bruger
09. juni 2009 - 13:46 #1
Hvis du er interesseret kan du sende filen til (i udtale):
hanspunktumknudsensnabelamailpunktumtelepunktumdk
så kigger jeg på det.

mvh
Hans
Avatar billede Pantzer Praktikant
09. juni 2009 - 14:07 #2
Jeg sender den med det samme.
Avatar billede Pantzer Praktikant
11. juni 2009 - 17:18 #3
Hej Hans

Jeg har ikke glemt dig, men jeg er lige kommet hjem fra kursus, så jeg ser lige på det du har sendt mig i morgen, så du også kan få nogle point.

Mvh. Jon
Avatar billede Slettet bruger
12. juni 2009 - 16:36 #4
Det glæder mig, at du kunne bruge forslaget.

mvh
Hans
Avatar billede Pantzer Praktikant
15. juni 2009 - 20:37 #5
Hej Hans

Det vil ikke rigtigt virke når jeg overføre din formel til excel 2007, men jeg har ihvert fald noget at arbejde vider med. :)
Avatar billede Slettet bruger
16. juni 2009 - 04:42 #6
Jon

Det har du ret i. Jeg har selv konstateret det samme.Ved eftertanke mindes jeg at have læst andetsteds, at grafværktøjet i Excel 2007 er en dårlig erstaning for grafværktøjet i Excel 2003 (måske bortset fra noget "vinduespynt"). Jeg har desværre ingen forslag her, altså udover at bruge Excel 2003.

Hans
Avatar billede Pantzer Praktikant
16. juni 2009 - 22:21 #7
Hej Hans

Det er ok. Jeg sætter ihvertfald stor pris på det du har lavet til mig uanset hvad.
Som sagt har det givet mig noget at bygge vider på. :)


Mvh. Jon
Avatar billede Pantzer Praktikant
22. juli 2009 - 20:37 #8
Jeg har arbejdet lidt vider med ovenstående dilemma, og fundet en VBA-løsning som fungere - hvis der nu skulle være nogen der var interesseret.

Sub SorterDiagram()

    Range("A2:B7").Select
    ActiveWorkbook.Worksheets("Ark1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Ark1").Sort.SortFields.Add Key:=Range("B2:B7"), _
        SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Ark1").Sort
    End With
    Sheets("Ark2").Select
    ActiveSheet.Shapes.AddChart.Select
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=Sheets("Ark1").Range("A2:B" & 7 - Sheets("Ark1").Range("B8"))
    Range("A1").Select
   
End Sub

Jeg har skrevet formlen =TÆL.HVIS(B2:B7;0)
På den måde får jeg et søjlediagram som kun viser søjler der har værdier fra min statiskit (man kan også bruge =TÆL.HVIS(B2:B7;"") hvis man har tomme celler i stedet for nuller).

Det er muligt at koden ikke er super anvendelig ved søjlediagrammer, men hvis man gerne vil undgå at have dataetiketter med værdien 0 i et lagkagediagram er den god. Det giver helt klart en bedre visuelt indtryk af diagrammet.

Hvis man vil have et lagkagediagram i stedet for et søjlediagram skal man bare skifte følgende sætning ud:

ActiveChart.ChartType = xlColumnClustered

ActiveChart.ChartType = xlPie

Håber der er nogen der kan bruge det. :)
Avatar billede Pantzer Praktikant
22. juli 2009 - 21:45 #9
Hov! lige en rettelse.
Vi skal jo også vide hvad der skal filtrers efter. :)

Sub SorterDiagram()

    Range("A2:B7").Select
    ActiveWorkbook.Worksheets("Ark1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Ark1").Sort.SortFields.Add Key:=Range("B2:B7"), _
        SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Ark1").Sort
        .SetRange Range("A1:B7")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply

    End With
    Sheets("Ark2").Select
    ActiveSheet.Shapes.AddChart.Select
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=Sheets("Ark1").Range("A2:B" & 7 - Sheets("Ark1").Range("B8"))
    Range("A1").Select
   
End Sub
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester