Haluaisin tehdä makron, jolla muutan surface-tyypin värejä. Manuaalisesti tämä onnistuu, mutta se on älyttömän hankalaa. Haluan, että värit kattavat tietyln skaalan, vaikka Labelien lukumäärä vaihtelee.. En ole keksinyt, miten tämä tehdään.
Surface-graafin värien muuttaminen
7
142
Vastaukset
- Mr. VBA
Moi, toimisiko alla oleva ? Moduulin alkuun (aivan moodulin alkuun) teksti
Option Base 1
ja sitten alemmas makro
Sub GraafiVarit()
' makrolla voi muuttaa graafien sarjojen värejä
' toimii vain aktiiviseen kaavioon, legend tulee olla myös esillä kaaviossa
' HUOM! moduulin alkuun tulee lisätä lause "Option Base 1"
Dim Varit() As Variant
Dim Leg As Integer
Dim i As Integer
' määrittele seuraavalla rivillä array-muuttujan arvoiksi haluamasi väriarvot
' esim joka toinen eri väri-> Varit = Array(5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4)
' oletuksena alla 12 eri väriä
Varit = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
On Error Resume Next
Leg = ActiveChart.Legend.LegendEntries.Count
For i = 1 To UBound(Varit)
ActiveChart.Legend.LegendEntries(i).LegendKey.Interior.ColorIndex = Varit(i)
Next i
End Sub "Haluan, että värit kattavat tietyln skaalan, vaikka Labelien lukumäärä vaihtelee.. .."
;-)
Keep EXCELing
@Kunde- 1+14
Sorry, ei Label, vaan Band. En keksi, millä saan muutettua Bandin väriä, ts. tuota kommentiksi muutettua riviä olen yrttänyt tuloksetta kirjoittaa monella tavalla.
Private Sub SpinButton2_Change()
ActiveSheet.ChartObjects("Chart 1").Activate
Application.ScreenUpdating = False
With ActiveChart
le = SpinButton2.Value
Max = .Axes(xlValue).MaximumScale
.Axes(xlValue).MinimumScale = Max - le
n = 0
For Each objLE In ActiveChart.Legend.LegendEntries
' objLE.LegendKey.MarkerForegroundColor = Väri(n / le)
n = n 1
Next
End With
End Sub - ...
1+14 kirjoitti:
Sorry, ei Label, vaan Band. En keksi, millä saan muutettua Bandin väriä, ts. tuota kommentiksi muutettua riviä olen yrttänyt tuloksetta kirjoittaa monella tavalla.
Private Sub SpinButton2_Change()
ActiveSheet.ChartObjects("Chart 1").Activate
Application.ScreenUpdating = False
With ActiveChart
le = SpinButton2.Value
Max = .Axes(xlValue).MaximumScale
.Axes(xlValue).MinimumScale = Max - le
n = 0
For Each objLE In ActiveChart.Legend.LegendEntries
' objLE.LegendKey.MarkerForegroundColor = Väri(n / le)
n = n 1
Next
End With
End SubMarkerForegroundColor = RGB(0,255,0)
- 1+14
... kirjoitti:
MarkerForegroundColor = RGB(0,255,0)
Millaisen rimpsun perään tuo MarkerForegroundColor on laitettava, jotta sille voidaan antaa arvo?
- 1+14
1+14 kirjoitti:
Millaisen rimpsun perään tuo MarkerForegroundColor on laitettava, jotta sille voidaan antaa arvo?
No, jo keksin. Ei mikään MarkerForegroundColor olekaan. Yllä kommentoitu rivi pitää olla muodossa:
objLE.LegendKey.Interior.Color = Väri(n / ny)
- 1+14
Ei Label, vaan Band.Sorry. En ole onnistunut muuttamaan Bandien värejä.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Riikka Purra leikkasi alimmalta tulodesiililtä 15 %
Muistaako kukaan Riikka Purran kovaäänisen vaalilupauksen ennen eduskuntavaaleja? https://yle.fi/a/74-20221152 "THL o3406355Muistele nainen niitä meidän yhteisiä hetkiä
Miltä ne tuntui? Enkö aina huokunut välittämistä, kiintymystä. Eikö sinulla aina ollut hyvä olo kanssani? Minulla ainaki483796- 81953
- 52870
- 56826
- 41820
- 68800
Tämä kikka tekee lihapullista entistä maukkaampia - Tämä "ihmeaine" löytyy keittiön kaapista
Lihapullat ja ruskea kastike on arkiruokien kunkku! Paistatko itse lihapullat pannulla vai uunissa? Näin saat ruoasta v8793Naiset ei halua kilttejä miehiä
Näin se vaan on..jos olet ilman tatskoja, et rähjää, sinulla ei ole rikosrekisteriä, olet liian kiltti, et sano pahasti,135792Seiska: Helmi Loukasmäki paljastaa - Näin Danny ja Helmi tapasivat
Helmi Loukasmäki, 25, ja Ilkka Danny Lipsanen, 83, ovat seurattuja julkkiksia. Mutta tiesitkö, miten he tapasivat? Lue14711