pefra Postad 1 januari, 2020 Share Postad 1 januari, 2020 EXCEL Kan man skriva om VBA så dessa två villkor fungerar i en och samma kod i mitt diagram ? ______________________________________________________________________________ Private Sub Worksheet_Change(ByVal Target As Range) With Blad4.ChartObjects(1).Chart.SeriesCollection(1).Points(1).Interior If Range("W4").Value <= 1000 Then .ColorIndex = 4 ElseIf Range("W4").Value > 1000 Then .ColorIndex = 3 End If End WithEnd Sub ___________________________________________________________________Private Sub Worksheet_Change(ByVal Target As Range) With Blad4.ChartObjects(1).Chart.SeriesCollection(2).Points(1).Interior If Range("W5").Value <= 1000 Then .ColorIndex = 4 ElseIf Range("W5").Value > 1000 Then .ColorIndex = 3 End If End WithEnd Sub ____________________________________________________________________ Länk till kommentar Dela på andra webbplatser More sharing options...
Cecilia Postad 1 januari, 2020 Share Postad 1 januari, 2020 Välkommen till forumet! Delforumet Diskutera Eforum är till för frågor om just själva Eforum medan andra sorters frågor startar man i det forum som tar upp samma sak som ens egen fråga. Jag har nu flyttat din fråga till forumet för Excel och andra kalkylprogram. Cecilia Moderator Länk till kommentar Dela på andra webbplatser More sharing options...
pefra Postad 1 januari, 2020 Trådskapare Share Postad 1 januari, 2020 OK.Ursäkta, ny här, då vet jag. Cecilia reagerade på detta 1 Länk till kommentar Dela på andra webbplatser More sharing options...
Monshi Postad 1 januari, 2020 Share Postad 1 januari, 2020 Worksheet_change är en farlig funktion att använda då denna exekverar VARJE gång en ändring sker i bladet. Varje gång. Detta kan ge att arbetsboken går långsamt. Men: Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("W4", "W5")) Is Nothing Then Exit Sub With Me.ChartObjects(1).Chart.SeriesCollection(1).Points(1).Interior If Me.Range("W4").Value <= 1000 Then .ColorIndex = 4 ElseIf Range("W4").Value > 1000 Then .ColorIndex = 3 End If End With With Me.ChartObjects(1).Chart.SeriesCollection(2).Points(1).Interior If Me.Range("W5").Value <= 1000 Then .ColorIndex = 4 ElseIf Me.Range("W5").Value > 1000 Then .ColorIndex = 3 End If End With End Sub Borde fungera om alla referenser är rätt. Första man ska göra i onChange är kontrollera OM funktionen ska köras. Min rekommendation är att hitta annan lösning till detta problem. Länk till kommentar Dela på andra webbplatser More sharing options...
pefra Postad 1 januari, 2020 Trådskapare Share Postad 1 januari, 2020 Tack fungerar med dessa två värden, men eftersom det är fler värden som skall in och som skall färga delar av staplar så behöver denna kod utökas ytterligare, när jag infogar ett tredje villkor så fungerar det inte, trots att jag skriver W6 + parentes där uppe och skriver W6 på villkor tre samt ändrar SeriesCollection till 3. Om du skulle vilja öka på koden två steg till vore jag tacksam, samt om det är något annat som måste göras för varje ökning av villkor. Vad kan denna person ha använt sig av annars i sitt diagram här nedan ? (Du svarade honom 2015) detta är precis som mitt diagram men med andra villkor. Tack för ovärderlig hjälp. Peter"pefra" Länk till kommentar Dela på andra webbplatser More sharing options...
Monshi Postad 1 januari, 2020 Share Postad 1 januari, 2020 Fyra år sedan. Alla kunskap är inte satt som sten. Att redigera diagram med kod är inte alltid helt enkel heller. mitt tips är att spela in kod när du manuellt gör det du vill koden ska göra och sedan tar ut de aktiva delarna och anpassar dessa till att fungera i din kod. Om du nu behöver VBA för detta. Diagram brukar sköta sig själva bra när är uppsatta, ska inte behöva formateras om vid varje uppdatering av dem. I tråden nedan har ingen VBA-kod använts. Länk till kommentar Dela på andra webbplatser More sharing options...
pefra Postad 2 januari, 2020 Trådskapare Share Postad 2 januari, 2020 Jag behöver inte formatera om efter varje uppdatering, detta diagram är några år som jag har ändrat lite i nu, så nu önskar jag färg på delar av stapeln, <=1000 grön och >1000 röd. Jag använder vad som för att få det att fungera men känner inte till något annat sätt, hur HTSE fått in sina villkor på färger utan någon kod på delar av stapeln vore intressant att veta. Jag vet att excel sköter i stort sett allt med diagram men jag har inte sett någon inställning för olikfärgade staplar (olika färger på samma stapel) här ovan borde det finnas något som 1=blå, 2=brun, 3=grön, 4=violett eller ? Länk till kommentar Dela på andra webbplatser More sharing options...
pefra Postad 2 januari, 2020 Trådskapare Share Postad 2 januari, 2020 Bifogar här en fil så är det säkert enklare att förstå vad jag menar och varför. Gick inte att bifoga makroaktiverad excelfil här så det får bli en bild istället. Min fråga: Varför går det inte att utöka ytterligare, borde ju vara kopiera - klistra in och ändra lite på de nya villkoren. Länk till kommentar Dela på andra webbplatser More sharing options...
Monshi Postad 2 januari, 2020 Share Postad 2 januari, 2020 Förstår inte riktigt vad du menar? Vill du alternera mellan grönt och rött enbart? Inte ha olika färger? bara att gå igenom hela serien och manuellt sätta färg på dataserierna. Länk till kommentar Dela på andra webbplatser More sharing options...
Mikael63 Postad 2 januari, 2020 Share Postad 2 januari, 2020 Tråden är markerad som löst. Stämmer det? Länk till kommentar Dela på andra webbplatser More sharing options...
Monshi Postad 2 januari, 2020 Share Postad 2 januari, 2020 Nog pefra som tryckt fel då det bara är trådskribenten som kan markera den som löst.(som moderator kan vi två dock även göra det) Länk till kommentar Dela på andra webbplatser More sharing options...
pefra Postad 2 januari, 2020 Trådskapare Share Postad 2 januari, 2020 Ja, miss av mig. Ja, jag har staplat diagram, när jag skriver in 999 på januari 2019 så blir den delen av stapeln grön, när jag skriver in 1999 på februari 2019 så blir den delen röd på samma stapel (stapeln omfattar 2019 Jan-Dec och växlar mellan rött och grönt beroende på värdet, sedan 2020 Jan-Dec etc.etc. Har excel 2007 , din bild föreställer troligtvis ett nyare excel för jag hittar inget sådant i mitt excel. Har löst det med den svåra långa programeringsdelen men borde gå att göra på ett enklare sätt tycker jag. Bifogar bild på hur det ser ut. Önskar också att makroaktiverade filer kan bifogas här. Länk till kommentar Dela på andra webbplatser More sharing options...
Solution pefra Postad 2 januari, 2020 Trådskapare Solution Share Postad 2 januari, 2020 (redigerade) Jag har brytpunkt <=1000 grön >1000 röd Nu är det löst med en lång och en kort programmering. Redigerad 2 januari, 2020 av pefra Länk till kommentar Dela på andra webbplatser More sharing options...
Monshi Postad 2 januari, 2020 Share Postad 2 januari, 2020 Det ser lite annorlunda ut i Excel 2016 men samma funktion ska stå att finna även i äldre versioner. Minns inte riktigt var men färga grafer går, bara högerklicka på grafelementet och välja att formatera detta. Ingen VBA-kod ska krävas. Länk till kommentar Dela på andra webbplatser More sharing options...
pefra Postad 2 januari, 2020 Trådskapare Share Postad 2 januari, 2020 Färga grafer är en sak. Men mitt problem var att färga grafen efter villkor (är lika med eller mindre än 1000= GRÖN alt. Större än 1000= RÖD) Detta tror jag inte går med ditt förslag på färga grafer, men jag kan ha fel, ska kolla upp det vid tillfälle. Länk till kommentar Dela på andra webbplatser More sharing options...
Monshi Postad 2 januari, 2020 Share Postad 2 januari, 2020 Det har du rätt i, att färga efter villkor det kräver VBA Problemet kan dock vara att Excel kan vilja färga alla serier, staplar lika, men där kanske jag inte vet hela sanningen. Länk till kommentar Dela på andra webbplatser More sharing options...
pefra Postad 2 januari, 2020 Trådskapare Share Postad 2 januari, 2020 Jag har nu programmerat två lika diagram med två olika sorters koder, den jobbigaste koden är på 192 villkor och omfattar 16 år x 12 månader den andra är en kod i bladet och en kod som en modul. Fungerar kanon. Monshi reagerade på detta 1 Länk till kommentar Dela på andra webbplatser More sharing options...
Monshi Postad 3 januari, 2020 Share Postad 3 januari, 2020 Trevligt att höra, bra att det fungerar för dig. Länk till kommentar Dela på andra webbplatser More sharing options...
Rekommendera Poster