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
- 1111020
- 61927
Carunan hinnat
Yks proffa vauuttaa, ettei Caruna voi noin vain nostaa hintoja koska suomen laki kieltää, toinen proffa sanoo että Carun88724- 75705
- 41655
Kunnan päätie ja sen lähialueet
Arvon hyrynsalmelaiset. Tätä palstaa on näin Ukkohallan mökkiläisena ihan viihteellistä lukea. Milloin teitä ahdistaa la34597Mikä sun kaivatussa on se miksi ihastuit
ja ikävöit? Eli se jokin asia, mikä aiheutti tunteen, että tuossa on sitä jotain? Meinasitko tehdä asialle jotain vai ka22562Toimittajat ulkomailta saapuivat eilen vaskiviikoille
Toimittajat lähtivät tutustumaan Lieksan yöelämään ja kultturitarjontaan. Kaikki yllättyivät kuinka aktiivista ja innoka27539- 51532
Mitä luulet
Mitä luulet kaivattusi ajattelevan sonusta? Onko jotain mitä haluaisit oikaista hänelle?37488