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.
Vastaukset 7
- 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
Vasemmistoliitto esittää rikkaille veronkiristyksiä, mutta kansalle ei kelpaa
Miksi? Haluaako taviskansa lisää leikkauksia peruspalveluihin? Pääsettekö liian helposti vielä terveyskeskukseen tai ham811410- 1221168
- 1191131
- 861095
- 60980
Meistä puhutaan
Meistä varmaan puhutaan ja huhutaan. Luulen niin. Ei kiva juttu. Ja ystävät on minusta huolissaan. Yritän tehdä kaikkeni66950- 136861
Uunimakkara koululaisten suosikki
https://www.is.fi/ruokala/ajankohtaista/art-2000012228523.html on tärkeää että oppilaat syövät hyvin, muuten ei jaksa p289760- 18618
- 69616