PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerExcelExcelÄndra färg på stapel i diagram automatisk om värdet stiger över ett viss värdeÄndra färg på stapel i diagram automatisk om värdet stiger över ett viss värde
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2010-01-13 17:32
 

Om jag har en stapel i ett diagram om värdet är 10 så ska staplen visa grönt automatisk.

Men om värdet stiger över värdet 10 så ska stapelen visa röd automatisk.

 

 

Nytt inlägg
 2010-01-14 07:53
 
 Ändrad av Andreas Gustafsson  på 2010-01-14 21:46:01

Personligen skulle jag använda mig av VBA för detta. Om du inte är någorlunda insatt i VBA-programmering kanske min lösning kan vara lite väl svår, men här följer en kort beskrivning..

Färgen på en stapel i ett diagram går att ändra genom att använda sig av:

Blad1.ChartObjects(1).Chart.SeriesCollection(1).Points(1).Interior.ColorIndex = 1

(Självklart måste du använda dig av namn och parametrar som stämmer överens med diagrammet i ditt dokument)

Skapa en metod innehållande if-satser eller en case-sats där värdet på källdatan kontrolleras och färgen på stapeln ändras enligt ovanstående. Anropa denna metod från Worksheet_change för automatisk uppdatering.

Hoppas du får det att funka! Återkom för en mer utförlig beskrivning om du får problem.

/Andreas


Andreas Gustafsson

Excelforum drivs av Excelspecialisten som bedriver utveckling av program, utbildning samt support och hjälp i Excel och VBA.

www.excelspecialisten.se

Nytt inlägg
 2010-01-14 15:45
 

Hej tack för lösningen som du skrev.

Men tyvärr så är jag inte alls insatt i VBA-programmeringen.

Vill du återkomma med en mer utförlig beskrivning hur man ska göra.

Så är jag väldig tacksam för det

Lattaren

Nytt inlägg
 2010-01-15 07:20
 

Ok. Här följer en kort guide..

  1. Öppna ett nytt tomt Excel-dokument
  2. Mata in en siffra i cell A1 på Blad1. Markera cellen och infoga ett stapeldiagram
  3. Starta nu VBA-editorn (Alt+F11). Visa projekt-utforskaren (Ctrl+R)
  4. Dubbelklicka på Blad1 och klistra in följande kod:

Private Sub Worksheet_Change(ByVal Target As Range)
    With Blad1.ChartObjects(1).Chart.SeriesCollection(1).Points(1).Interior
        If Range("A1").Value = 10 Then
            .ColorIndex = 10
        ElseIf Range("A1").Value > 10 Then
            .ColorIndex = 3
        Else
            .ColorIndex = 5
        End If
    End With
End Sub
       
Prova att mata in 9, 10 och 11 i cell A1 och se vad som händer..

Förhoppningsvis kan du sedan anpassa denna metod till att fungera på flera staplar, flera diagram etc.

/Andreas

 

 


Andreas Gustafsson

Excelforum drivs av Excelspecialisten som bedriver utveckling av program, utbildning samt support och hjälp i Excel och VBA.

www.excelspecialisten.se

Nytt inlägg
 2010-01-17 16:12
 

Tack så mycket det fungerade utmärkt.

Lattaren

 

Nytt inlägg
 2019-12-18 13:57
 

 Hej Andreas! 

Jag skulle gärna vilja fråga dig hur jag skulle kunna utvidga den koden du gav här till att fungera på en hel kolumn? Tex att värdena under 1-2 blir röda, 3-4 blir gula och 5-6 blir gröna osv?

Skulle du kunna tipsa mig i hur jag utvecklar det?

Mvh Marta

Nytt inlägg
 2019-12-18 13:57
 

 Hej Andreas! 

Jag skulle gärna vilja fråga dig hur jag skulle kunna utvidga den koden du gav här till att fungera på en hel kolumn? Tex att värdena under 1-2 blir röda, 3-4 blir gula och 5-6 blir gröna osv?

Skulle du kunna tipsa mig i hur jag utvecklar det?

Mvh Marta

1 Rapporter 
Nytt inlägg
 2019-12-19 13:15
 
Hej hej

Andreas är väldigt upptagen så här kring jul. Så jag svarar istället. Jag antar att du fortfarande pratar om frågan du ställde på vba forumet, dvs färga staplar baserat på deras värde.

Då kan du göra så här.

1. Gå in i editorn, alt + f11
2. I projektfönstret, högerklicka på projekt och lägg till modul.
3. I kodfönstret som nu dykt upp skriv kod du hittar längre ned.
4. Modifiera kod utefter dina behov. Just nu är koden inställd på att köra på bladet med index 1. Det är bladet som ligger längst till vänster. Om bladet flyttas ändras även index. Har du flera diagram på samma sida så är koden inställd på diagram med index 1, du får testa dig fram för att hitta rätt. Vidare är färgerna jag lade in ganska extrema eftersom jag har valt att använda maxgrön, maxröd osv. Goggla på RGB koder så kan du sätta dem själv efter färger du gillar.
Gränsvärdena är under 10, över 20, samt däremellan, det går självklart att ha fler parametrar om man vill ha fler färger. Det går då att bygga vidare med fler Case is satser, select satser väljer det första kriteriet som är uppfyllt, så man kan ha både under 10 och under 20 om man vill.

Denna kod triggas iinte automatiskt såsom andreas gjorde. Det går självklart att få den att göra det, men det kräver väldigt mycket undantagshantering, därav valde jag att göra på detta sätt istället. Du får därför lägga till en knapp/figur och koppla den till ditt makro.

Mvh
Christian

Option Explicit

Sub aChartFix()

Dim Pts As Points
Set Pts = Sheets(1).ChartObjects(1).Chart.SeriesCollection(1).Points
Dim sc As SeriesCollection: Set sc = Sheets(1).ChartObjects(1).Chart.SeriesCollection
Dim i As Integer
Dim vnt As Variant: vnt = sc(1).Values

For i = 1 To Pts.Count
Select Case vnt(i)
Case Is < 10
Pts(i).Interior.Color = RGB(255, 255, 0)
Case Is > 20
Pts(i).Interior.Color = RGB(255, 0, 0)
Case Else
Pts(i).Interior.Color = RGB(0, 255, 0)
End Select
Next i


End Sub
Nytt inlägg
 2019-12-20 06:32
 

 Tack för hjälpen !! :) det fungerade bra. God jul!

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerExcelExcelÄndra färg på stapel i diagram automatisk om värdet stiger över ett viss värdeÄndra färg på stapel i diagram automatisk om värdet stiger över ett viss värde

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter